Merge branches 'clk-x86', 'clk-stm', 'clk-amlogic' and 'clk-allwinner' into clk-next
[linux-2.6-microblaze.git] / drivers / mfd / dln2.c
index 83e676a..852129e 100644 (file)
@@ -50,6 +50,7 @@ enum dln2_handle {
        DLN2_HANDLE_GPIO,
        DLN2_HANDLE_I2C,
        DLN2_HANDLE_SPI,
+       DLN2_HANDLE_ADC,
        DLN2_HANDLES
 };
 
@@ -653,6 +654,7 @@ enum {
        DLN2_ACPI_MATCH_GPIO    = 0,
        DLN2_ACPI_MATCH_I2C     = 1,
        DLN2_ACPI_MATCH_SPI     = 2,
+       DLN2_ACPI_MATCH_ADC     = 3,
 };
 
 static struct dln2_platform_data dln2_pdata_gpio = {
@@ -683,6 +685,16 @@ static struct mfd_cell_acpi_match dln2_acpi_match_spi = {
        .adr = DLN2_ACPI_MATCH_SPI,
 };
 
+/* Only one ADC port supported */
+static struct dln2_platform_data dln2_pdata_adc = {
+       .handle = DLN2_HANDLE_ADC,
+       .port = 0,
+};
+
+static struct mfd_cell_acpi_match dln2_acpi_match_adc = {
+       .adr = DLN2_ACPI_MATCH_ADC,
+};
+
 static const struct mfd_cell dln2_devs[] = {
        {
                .name = "dln2-gpio",
@@ -702,6 +714,12 @@ static const struct mfd_cell dln2_devs[] = {
                .platform_data = &dln2_pdata_spi,
                .pdata_size = sizeof(struct dln2_platform_data),
        },
+       {
+               .name = "dln2-adc",
+               .acpi_match = &dln2_acpi_match_adc,
+               .platform_data = &dln2_pdata_adc,
+               .pdata_size = sizeof(struct dln2_platform_data),
+       },
 };
 
 static void dln2_stop(struct dln2_dev *dln2)