mfd: mc13xxx: add codec platform data
authorPhilippe Rétornaz <philippe.retornaz@epfl.ch>
Tue, 15 May 2012 11:53:49 +0000 (13:53 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 18 May 2012 15:42:08 +0000 (16:42 +0100)
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/mfd/mc13xxx-core.c
include/linux/mfd/mc13xxx.h

index 9fd4f63c45cc18b2e60dc41085425ff3d35f04b8..738722cdecaaa23e075b25cf2407357cea372ee7 100644 (file)
@@ -813,7 +813,8 @@ err_revision:
                mc13xxx_add_subdevice(mc13xxx, "%s-adc");
 
        if (mc13xxx->flags & MC13XXX_USE_CODEC)
-               mc13xxx_add_subdevice(mc13xxx, "%s-codec");
+               mc13xxx_add_subdevice_pdata(mc13xxx, "%s-codec",
+                                       pdata->codec, sizeof(*pdata->codec));
 
        if (mc13xxx->flags & MC13XXX_USE_RTC)
                mc13xxx_add_subdevice(mc13xxx, "%s-rtc");
index 10e038bac8dd106f742dc283aa69e7f5cbc495e7..bf070755982e3c62dfdd841601d0241ad7100864 100644 (file)
@@ -170,6 +170,16 @@ struct mc13xxx_ts_platform_data {
        bool atox;
 };
 
+enum mc13783_ssi_port {
+       MC13783_SSI1_PORT,
+       MC13783_SSI2_PORT,
+};
+
+struct mc13xxx_codec_platform_data {
+       enum mc13783_ssi_port adc_ssi_port;
+       enum mc13783_ssi_port dac_ssi_port;
+};
+
 struct mc13xxx_platform_data {
 #define MC13XXX_USE_TOUCHSCREEN (1 << 0)
 #define MC13XXX_USE_CODEC      (1 << 1)
@@ -181,6 +191,7 @@ struct mc13xxx_platform_data {
        struct mc13xxx_leds_platform_data *leds;
        struct mc13xxx_buttons_platform_data *buttons;
        struct mc13xxx_ts_platform_data touch;
+       struct mc13xxx_codec_platform_data *codec;
 };
 
 #define MC13XXX_ADC_MODE_TS            1