power: supply: account for const type of of_device_id.data
authorJulia Lawall <Julia.Lawall@lip6.fr>
Tue, 2 Jan 2018 13:28:02 +0000 (14:28 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.co.uk>
Mon, 8 Jan 2018 17:40:46 +0000 (18:40 +0100)
This driver creates two const structures that it stores in the data
field of an of_device_id array.

The data field of an of_device_id structure has type const void *, so
there is no need for a const-discarding cast when putting const values
into such a structure.

Furthermore, adding const to the declaration of the location that
receives a const value from such a field ensures that the compiler
will continue to check that the value is not modified.  The
const-discarding cast on the extraction from the data field is thus
no longer needed.

Done using Coccinelle.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
drivers/power/supply/axp20x_ac_power.c

index 38f4e87cf24dfc5d08938932b3151fbbcee510d0..0771f951b11fbe2c6a95b4984a42f011c0a547d1 100644 (file)
@@ -159,7 +159,7 @@ static int axp20x_ac_power_probe(struct platform_device *pdev)
        struct axp20x_dev *axp20x = dev_get_drvdata(pdev->dev.parent);
        struct power_supply_config psy_cfg = {};
        struct axp20x_ac_power *power;
-       struct axp_data *axp_data;
+       const struct axp_data *axp_data;
        static const char * const irq_names[] = { "ACIN_PLUGIN", "ACIN_REMOVAL",
                NULL };
        int i, irq, ret;
@@ -176,7 +176,7 @@ static int axp20x_ac_power_probe(struct platform_device *pdev)
        if (!power)
                return -ENOMEM;
 
-       axp_data = (struct axp_data *)of_device_get_match_data(&pdev->dev);
+       axp_data = of_device_get_match_data(&pdev->dev);
 
        if (axp_data->acin_adc) {
                power->acin_v = devm_iio_channel_get(&pdev->dev, "acin_v");
@@ -230,10 +230,10 @@ static int axp20x_ac_power_probe(struct platform_device *pdev)
 static const struct of_device_id axp20x_ac_power_match[] = {
        {
                .compatible = "x-powers,axp202-ac-power-supply",
-               .data = (void *)&axp20x_data,
+               .data = &axp20x_data,
        }, {
                .compatible = "x-powers,axp221-ac-power-supply",
-               .data = (void *)&axp22x_data,
+               .data = &axp22x_data,
        }, { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, axp20x_ac_power_match);