Simplify the code with of_device_get_match_data().
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/tty/serial/samsung_tty.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 3ffae912217c..61c530bb377f 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -2150,23 +2150,16 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
/* Device driver serial port probe */
-#ifdef CONFIG_OF
-static const struct of_device_id s3c24xx_uart_dt_match[];
-#endif
-
static int probe_index;
static inline const struct s3c24xx_serial_drv_data *
s3c24xx_get_driver_data(struct platform_device *pdev)
{
#ifdef CONFIG_OF
- if (pdev->dev.of_node) {
- const struct of_device_id *match;
-
- match = of_match_node(s3c24xx_uart_dt_match, pdev->dev.of_node);
- return (struct s3c24xx_serial_drv_data *)match->data;
- }
+ if (pdev->dev.of_node)
+ return of_device_get_match_data(&pdev->dev);
#endif
+
return (struct s3c24xx_serial_drv_data *)
platform_get_device_id(pdev)->driver_data;
}
--
2.32.0
>-----Original Message-----
>From: Krzysztof Kozlowski [mailto:[email protected]]
>Sent: Monday, March 7, 2022 1:39 PM
>To: Krzysztof Kozlowski <[email protected]>; Alim Akhtar
><[email protected]>; Greg Kroah-Hartman
><[email protected]>; Jiri Slaby <[email protected]>; linux-arm-
>[email protected]; [email protected]; linux-
>[email protected]; [email protected]
>Subject: [PATCH v2 7/7] tty: serial: samsung: simplify getting OF match
data
>
>Simplify the code with of_device_get_match_data().
>
>Signed-off-by: Krzysztof Kozlowski <[email protected]>
>---
Reviewed-by: Alim Akhtar <[email protected]>
> drivers/tty/serial/samsung_tty.c | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
>diff --git a/drivers/tty/serial/samsung_tty.c
>b/drivers/tty/serial/samsung_tty.c
>index 3ffae912217c..61c530bb377f 100644
>--- a/drivers/tty/serial/samsung_tty.c
>+++ b/drivers/tty/serial/samsung_tty.c
>@@ -2150,23 +2150,16 @@ static int s3c24xx_serial_init_port(struct
>s3c24xx_uart_port *ourport,
>
> /* Device driver serial port probe */
>
>-#ifdef CONFIG_OF
>-static const struct of_device_id s3c24xx_uart_dt_match[]; -#endif
>-
> static int probe_index;
>
> static inline const struct s3c24xx_serial_drv_data *
>s3c24xx_get_driver_data(struct platform_device *pdev) { #ifdef CONFIG_OF
>- if (pdev->dev.of_node) {
>- const struct of_device_id *match;
>-
>- match = of_match_node(s3c24xx_uart_dt_match, pdev-
>>dev.of_node);
>- return (struct s3c24xx_serial_drv_data *)match->data;
>- }
>+ if (pdev->dev.of_node)
>+ return of_device_get_match_data(&pdev->dev);
> #endif
>+
> return (struct s3c24xx_serial_drv_data *)
> platform_get_device_id(pdev)->driver_data;
> }
>--
>2.32.0
On 07/03/2022 21:24, Andy Shevchenko wrote:
> On Mon, Mar 7, 2022 at 11:20 AM Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> Simplify the code with of_device_get_match_data().
>
> You may get rid of ugly ifdeffery as well.
>
> ...
>
>> static inline const struct s3c24xx_serial_drv_data *
>> s3c24xx_get_driver_data(struct platform_device *pdev)
>> {
>> #ifdef CONFIG_OF
>> - if (pdev->dev.of_node) {
>> - const struct of_device_id *match;
>> -
>> - match = of_match_node(s3c24xx_uart_dt_match, pdev->dev.of_node);
>> - return (struct s3c24xx_serial_drv_data *)match->data;
>> - }
>
>> + if (pdev->dev.of_node)
>
> I believe it's never true when CONFIG_OF=n,
Right, I can use dev_of_node() helper for that purpose as well. Thanks!
Best regards,
Krzysztof
On Mon, Mar 7, 2022 at 11:20 AM Krzysztof Kozlowski
<[email protected]> wrote:
>
> Simplify the code with of_device_get_match_data().
You may get rid of ugly ifdeffery as well.
...
> static inline const struct s3c24xx_serial_drv_data *
> s3c24xx_get_driver_data(struct platform_device *pdev)
> {
> #ifdef CONFIG_OF
> - if (pdev->dev.of_node) {
> - const struct of_device_id *match;
> -
> - match = of_match_node(s3c24xx_uart_dt_match, pdev->dev.of_node);
> - return (struct s3c24xx_serial_drv_data *)match->data;
> - }
> + if (pdev->dev.of_node)
I believe it's never true when CONFIG_OF=n,
> + return of_device_get_match_data(&pdev->dev);
> #endif
> +
> return (struct s3c24xx_serial_drv_data *)
> platform_get_device_id(pdev)->driver_data;
> }
--
With Best Regards,
Andy Shevchenko