serial: mxs-auart: Remove unneeded platform_device_id
authorFabio Estevam <festevam@gmail.com>
Mon, 23 Nov 2020 19:04:38 +0000 (16:04 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Nov 2020 20:20:03 +0000 (21:20 +0100)
The mxs-auart driver is only used for DT platforms and there is no
need to use the platform_device_id structure.

Get rid the platform_device_id structure and retrieve the data via
of_device_get_match_data(), which simplifies the code.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/20201123190438.5636-1-festevam@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/mxs-auart.c

index b784323..8ecf622 100644 (file)
@@ -443,24 +443,16 @@ struct mxs_auart_port {
        bool                    ms_irq_enabled;
 };
 
-static const struct platform_device_id mxs_auart_devtype[] = {
-       { .name = "mxs-auart-imx23", .driver_data = IMX23_AUART },
-       { .name = "mxs-auart-imx28", .driver_data = IMX28_AUART },
-       { .name = "as-auart-asm9260", .driver_data = ASM9260_AUART },
-       { /* sentinel */ }
-};
-MODULE_DEVICE_TABLE(platform, mxs_auart_devtype);
-
 static const struct of_device_id mxs_auart_dt_ids[] = {
        {
                .compatible = "fsl,imx28-auart",
-               .data = &mxs_auart_devtype[IMX28_AUART]
+               .data = (const void *)IMX28_AUART
        }, {
                .compatible = "fsl,imx23-auart",
-               .data = &mxs_auart_devtype[IMX23_AUART]
+               .data = (const void *)IMX23_AUART
        }, {
                .compatible = "alphascale,asm9260-auart",
-               .data = &mxs_auart_devtype[ASM9260_AUART]
+               .data = (const void *)ASM9260_AUART
        }, { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, mxs_auart_dt_ids);
@@ -1639,8 +1631,6 @@ static int mxs_auart_request_gpio_irq(struct mxs_auart_port *s)
 
 static int mxs_auart_probe(struct platform_device *pdev)
 {
-       const struct of_device_id *of_id =
-                       of_match_device(mxs_auart_dt_ids, &pdev->dev);
        struct mxs_auart_port *s;
        u32 version;
        int ret, irq;
@@ -1663,10 +1653,7 @@ static int mxs_auart_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       if (of_id) {
-               pdev->id_entry = of_id->data;
-               s->devtype = pdev->id_entry->driver_data;
-       }
+       s->devtype = (enum mxs_auart_type)of_device_get_match_data(&pdev->dev);
 
        ret = mxs_get_clks(s, pdev);
        if (ret)