Skip to content

Commit e3fadb3

Browse files
andy-shevLee Jones
authored andcommitted
mfd: dln2: Allow to be enumerated via ACPI
On some platforms user may want to enumerate DLN2 device, its children, to be enumerated via ACPI. In order to achieve this, let's distinguish children by _ADR value. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
1 parent b1cc540 commit e3fadb3

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

drivers/mfd/dln2.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,35 +645,56 @@ static int dln2_start_rx_urbs(struct dln2_dev *dln2, gfp_t gfp)
645645
return 0;
646646
}
647647

648+
enum {
649+
DLN2_ACPI_MATCH_GPIO = 0,
650+
DLN2_ACPI_MATCH_I2C = 1,
651+
DLN2_ACPI_MATCH_SPI = 2,
652+
};
653+
648654
static struct dln2_platform_data dln2_pdata_gpio = {
649655
.handle = DLN2_HANDLE_GPIO,
650656
};
651657

658+
static struct mfd_cell_acpi_match dln2_acpi_match_gpio = {
659+
.adr = DLN2_ACPI_MATCH_GPIO,
660+
};
661+
652662
/* Only one I2C port seems to be supported on current hardware */
653663
static struct dln2_platform_data dln2_pdata_i2c = {
654664
.handle = DLN2_HANDLE_I2C,
655665
.port = 0,
656666
};
657667

668+
static struct mfd_cell_acpi_match dln2_acpi_match_i2c = {
669+
.adr = DLN2_ACPI_MATCH_I2C,
670+
};
671+
658672
/* Only one SPI port supported */
659673
static struct dln2_platform_data dln2_pdata_spi = {
660674
.handle = DLN2_HANDLE_SPI,
661675
.port = 0,
662676
};
663677

678+
static struct mfd_cell_acpi_match dln2_acpi_match_spi = {
679+
.adr = DLN2_ACPI_MATCH_SPI,
680+
};
681+
664682
static const struct mfd_cell dln2_devs[] = {
665683
{
666684
.name = "dln2-gpio",
685+
.acpi_match = &dln2_acpi_match_gpio,
667686
.platform_data = &dln2_pdata_gpio,
668687
.pdata_size = sizeof(struct dln2_platform_data),
669688
},
670689
{
671690
.name = "dln2-i2c",
691+
.acpi_match = &dln2_acpi_match_i2c,
672692
.platform_data = &dln2_pdata_i2c,
673693
.pdata_size = sizeof(struct dln2_platform_data),
674694
},
675695
{
676696
.name = "dln2-spi",
697+
.acpi_match = &dln2_acpi_match_spi,
677698
.platform_data = &dln2_pdata_spi,
678699
.pdata_size = sizeof(struct dln2_platform_data),
679700
},

0 commit comments

Comments
 (0)