mirror of
https://github.com/torvalds/linux.git
synced 2024-12-30 14:52:05 +00:00
mfd: dln2: Add cell for initializing DLN2 ADC
This patch extends the DLN2 driver; adding cell for adc_dln2 module. The original patch[1] fell through the cracks when the driver was added so ADC has never actually been usable. That patch did not have ACPI support which was added in v5.9, so the oldest supported version this current patch can be backported to is 5.10. [1] https://www.spinics.net/lists/linux-iio/msg33975.html Cc: <stable@vger.kernel.org> # 5.10+ Signed-off-by: Jack Andersen <jackoalan@gmail.com> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20211018112541.25466-1-noralf@tronnes.org
This commit is contained in:
parent
e7488f3e4e
commit
313c84b5ae
@ -50,6 +50,7 @@ enum dln2_handle {
|
|||||||
DLN2_HANDLE_GPIO,
|
DLN2_HANDLE_GPIO,
|
||||||
DLN2_HANDLE_I2C,
|
DLN2_HANDLE_I2C,
|
||||||
DLN2_HANDLE_SPI,
|
DLN2_HANDLE_SPI,
|
||||||
|
DLN2_HANDLE_ADC,
|
||||||
DLN2_HANDLES
|
DLN2_HANDLES
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -653,6 +654,7 @@ enum {
|
|||||||
DLN2_ACPI_MATCH_GPIO = 0,
|
DLN2_ACPI_MATCH_GPIO = 0,
|
||||||
DLN2_ACPI_MATCH_I2C = 1,
|
DLN2_ACPI_MATCH_I2C = 1,
|
||||||
DLN2_ACPI_MATCH_SPI = 2,
|
DLN2_ACPI_MATCH_SPI = 2,
|
||||||
|
DLN2_ACPI_MATCH_ADC = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct dln2_platform_data dln2_pdata_gpio = {
|
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,
|
.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[] = {
|
static const struct mfd_cell dln2_devs[] = {
|
||||||
{
|
{
|
||||||
.name = "dln2-gpio",
|
.name = "dln2-gpio",
|
||||||
@ -702,6 +714,12 @@ static const struct mfd_cell dln2_devs[] = {
|
|||||||
.platform_data = &dln2_pdata_spi,
|
.platform_data = &dln2_pdata_spi,
|
||||||
.pdata_size = sizeof(struct dln2_platform_data),
|
.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)
|
static void dln2_stop(struct dln2_dev *dln2)
|
||||||
|
Loading…
Reference in New Issue
Block a user