mfd: Use device_get_match_data()
Subsystems (5)
PATCH RESEND 1/1 mfd: Use device_get_match_data()
Use preferred device_get_match_data() instead of of_match_device() to get the driver match data. With this, adjust the includes to explicitly include the correct headers.
Reviewed-by Chen-Yu Tsai <[email protected]>
Signed-off-by Rob Herring <[email protected]>
--- drivers/mfd/axp20x.c | 22 +++------------------- drivers/mfd/hi6421-pmic-core.c | 9 +++------ drivers/mfd/mxs-lradc.c | 9 ++------- drivers/mfd/qcom-spmi-pmic.c | 6 ++++-- drivers/mfd/qcom_rpm.c | 8 ++++---- drivers/mfd/tps65910.c | 11 ++--------- drivers/mfd/twl4030-power.c | 9 +++------ drivers/mfd/twl6030-irq.c | 10 +++++----- 8 files changed, 26 insertions(+), 58 deletions(-)
drivers/mfd/axp20x.c +3 -19
@@ -22,7 +22,8 @@#include <linux/mfd/axp20x.h> #include <linux/mfd/core.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/of.h> +#include <linux/property.h> #include <linux/reboot.h> #include <linux/regmap.h> #include <linux/regulator/consumer.h>
@@ -1131,27 +1132,10 @@ static int axp20x_power_off(struct sys_off_data *data)int axp20x_match_device (struct axp20x_dev *axp20x) {struct device *dev = axp20x->dev; -const struct acpi_device_id *acpi_id; -const struct of_device_id *of_id;const struct mfd_cell *cells_no_irq =NULL ;int nr_cells_no_irq =0 ; -if (dev->of_node) { - of_id =of_match_device (dev->driver->of_match_table, dev); -if (!of_id) { -dev_err (dev,"Unable to match OF ID\n" ); -return -ENODEV ; - } - axp20x->variant = (long )of_id->data; - }else { - acpi_id =acpi_match_device (dev->driver->acpi_match_table, dev); -if (!acpi_id || !acpi_id->driver_data) { -dev_err (dev,"Unable to match ACPI ID and data\n" ); -return -ENODEV ; - } - axp20x->variant = (long )acpi_id->driver_data; - } - + axp20x->variant = (long )device_get_match_data (dev);switch (axp20x->variant) {case AXP152_ID : axp20x->nr_cells =ARRAY_SIZE (axp152_cells);
drivers/mfd/hi6421-pmic-core.c +3 -6
@@ -15,8 +15,9 @@#include <linux/mfd/core.h> #include <linux/mfd/hi6421-pmic.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/of.h> #include <linux/platform_device.h> +#include <linux/property.h> #include <linux/regmap.h> static const struct mfd_cell hi6421_devs[] = {
@@ -50,16 +51,12 @@ MODULE_DEVICE_TABLE(of, of_hi6421_pmic_match);static int hi6421_pmic_probe (struct platform_device *pdev) {struct hi6421_pmic *pmic; -const struct of_device_id *id;const struct mfd_cell *subdevs;enum hi6421_type type;void __iomem *base;int n_subdevs, ret; - id =of_match_device (of_hi6421_pmic_match, &pdev->dev); -if (!id) -return -EINVAL ; - type = (uintptr_t )id->data; + type = (uintptr_t )device_get_match_data (&pdev->dev); pmic =devm_kzalloc (&pdev->dev,sizeof (*pmic),GFP_KERNEL );if (!pmic)
drivers/mfd/mxs-lradc.c +2 -7
@@ -16,8 +16,8 @@#include <linux/mfd/mxs-lradc.h> #include <linux/module.h> #include <linux/of.h> -#include <linux/of_device.h> #include <linux/platform_device.h> +#include <linux/property.h> #include <linux/slab.h> #define ADC_CELL 0
@@ -125,7 +125,6 @@ MODULE_DEVICE_TABLE(of, mxs_lradc_dt_ids);static int mxs_lradc_probe (struct platform_device *pdev) { -const struct of_device_id *of_id;struct device *dev = &pdev->dev;struct device_node *node = dev->of_node;struct mxs_lradc *lradc;
@@ -138,11 +137,7 @@ static int mxs_lradc_probe(struct platform_device *pdev)if (!lradc)return -ENOMEM ; - of_id =of_match_device (mxs_lradc_dt_ids, &pdev->dev); -if (!of_id) -return -EINVAL ; - - lradc->soc = (uintptr_t )of_id->data; + lradc->soc = (enum mxs_lradc_id )device_get_match_data (&pdev->dev); lradc->clk =devm_clk_get (&pdev->dev,NULL );if (IS_ERR (lradc->clk)) {
drivers/mfd/qcom-spmi-pmic.c +4 -2
@@ -8,10 +8,12 @@#include <linux/gfp.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/of.h> +#include <linux/of_device.h> +#include <linux/of_platform.h> #include <linux/spmi.h> #include <linux/types.h> #include <linux/regmap.h> -#include <linux/of_platform.h> #include <soc/qcom/qcom-spmi-pmic.h> #define PMIC_REV2 0x101
@@ -264,7 +266,7 @@ static int pmic_spmi_probe(struct spmi_device *sdev)if (!ctx)return -ENOMEM ; - ctx->num_usids = (uintptr_t )of_device_get_match_data (&sdev->dev); + ctx->num_usids = (uintptr_t )device_get_match_data (&sdev->dev);/* Only the first slave id for a PMIC contains this information */ if (sdev->usid % ctx->num_usids ==0 ) {
drivers/mfd/qcom_rpm.c +4 -4
@@ -7,6 +7,8 @@#include <linux/module.h> #include <linux/platform_device.h> +#include <linux/property.h> +#include <linux/of.h> #include <linux/of_platform.h> #include <linux/io.h> #include <linux/interrupt.h>
@@ -528,7 +530,6 @@ static irqreturn_t qcom_rpm_wakeup_interrupt(int irq, void *dev)static int qcom_rpm_probe (struct platform_device *pdev) { -const struct of_device_id *match;struct device_node *syscon_np;struct qcom_rpm *rpm;u32 fw_version[3 ];
@@ -570,10 +571,9 @@ static int qcom_rpm_probe(struct platform_device *pdev)if (irq_wakeup <0 )return irq_wakeup; - match =of_match_device (qcom_rpm_of_match, &pdev->dev); -if (!match) + rpm->data =device_get_match_data (&pdev->dev); +if (!rpm->data)return -ENODEV ; - rpm->data = match->data; rpm->status_regs =devm_platform_get_and_ioremap_resource (pdev,0 ,NULL );if (IS_ERR (rpm->status_regs))
drivers/mfd/tps65910.c +2 -9
@@ -19,7 +19,7 @@#include <linux/regmap.h> #include <linux/mfd/tps65910.h> #include <linux/of.h> -#include <linux/of_device.h> +#include <linux/property.h> static const struct resource rtc_resources[] = { {
@@ -374,16 +374,9 @@ static struct tps65910_board *tps65910_parse_dt(struct i2c_client *client,struct device_node *np = client->dev.of_node;struct tps65910_board *board_info;unsigned int prop; -const struct of_device_id *match;int ret; - match =of_match_device (tps65910_of_match, &client->dev); -if (!match) { -dev_err (&client->dev,"Failed to find matching dt id\n" ); -return NULL ; - } - - *chip_id = (unsigned long )match->data; + *chip_id = (unsigned long )device_get_match_data (&client->dev); board_info =devm_kzalloc (&client->dev,sizeof (*board_info),GFP_KERNEL );
drivers/mfd/twl4030-power.c +3 -6
@@ -27,8 +27,8 @@#include <linux/pm.h> #include <linux/mfd/twl.h> #include <linux/platform_device.h> +#include <linux/property.h> #include <linux/of.h> -#include <linux/of_device.h> #include <asm/mach-types.h>
@@ -883,7 +883,6 @@ static int twl4030_power_probe(struct platform_device *pdev) {const struct twl4030_power_data *pdata =dev_get_platdata (&pdev->dev);struct device_node *node = pdev->dev.of_node; -const struct of_device_id *match;int err =0 ;int err2 =0 ;u8 val;
@@ -904,10 +903,8 @@ static int twl4030_power_probe(struct platform_device *pdev)return err; } - match =of_match_device (of_match_ptr (twl4030_power_of_match), - &pdev->dev); -if (match && match->data) - pdata = match->data; +if (node) + pdata =device_get_match_data (&pdev->dev);if (pdata) { err =twl4030_power_configure_scripts (pdata);
drivers/mfd/twl6030-irq.c +5 -5
@@ -24,10 +24,10 @@#include <linux/kthread.h> #include <linux/mfd/twl.h> #include <linux/platform_device.h> +#include <linux/property.h> #include <linux/suspend.h> #include <linux/of.h> #include <linux/irqdomain.h> -#include <linux/of_device.h> #include "twl-core.h"
@@ -368,10 +368,10 @@ int twl6030_init_irq(struct device *dev, int irq_num)int nr_irqs;int status;u8 mask[3 ]; -const struct of_device_id *of_id; +const int *irq_tbl; - of_id =of_match_device (twl6030_of_match, dev); -if (!of_id || !of_id->data) { + irq_tbl =device_get_match_data (dev); +if (!irq_tbl) {dev_err (dev,"Unknown TWL device model\n" );return -EINVAL ; }
@@ -409,7 +409,7 @@ int twl6030_init_irq(struct device *dev, int irq_num) twl6030_irq->pm_nb.notifier_call = twl6030_irq_pm_notifier;atomic_set (&twl6030_irq->wakeirqs,0 ); - twl6030_irq->irq_mapping_tbl = of_id->data; + twl6030_irq->irq_mapping_tbl = irq_tbl; twl6030_irq->irq_domain = irq_domain_add_linear(node, nr_irqs,
Signature · 1 line
2.42.0
Re: (subset) [RESEND PATCH] mfd: Use device_get_match_data()
Quoted 5 lines · Rob Herring
Use preferred
device_get_match_data()instead ofof_match_device()to get the driver match data. With this, adjust the includes to explicitly include the correct headers.
Applied, thanks!
[1/1] mfd: Use device_get_match_data()
commit: b0919cf8ff1160eb3d8fe4236620e8b6a3cefa54
--
Lee Jones [李琼斯]