diff mbox series

[2/2] clk: vc7: Use i2c_get_match_data() instead of device_get_match_data()

Message ID 20230716154442.93908-3-biju.das.jz@bp.renesas.com (mailing list archive)
State Changes Requested, archived
Headers show
Series Use i2c_get_match_data() | expand

Commit Message

Biju Das July 16, 2023, 3:44 p.m. UTC
The device_get_match_data(), is to get match data for firmware interfaces
such as just OF/ACPI. This driver has I2C matching table as well. Use
i2c_get_match_data() to get match data for I2C, ACPI and DT-based
matching.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
Note:
This patch is based on the work done for rtc-isl1208 and is compile
tested.
---
 drivers/clk/clk-versaclock7.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Marek Vasut July 16, 2023, 3:57 p.m. UTC | #1
On 7/16/23 17:44, Biju Das wrote:
> The device_get_match_data(), is to get match data for firmware interfaces
> such as just OF/ACPI. This driver has I2C matching table as well. Use
> i2c_get_match_data() to get match data for I2C, ACPI and DT-based
> matching.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Geert Uytterhoeven July 17, 2023, 7:36 a.m. UTC | #2
Hi Biju,

On Sun, Jul 16, 2023 at 5:44 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> The device_get_match_data(), is to get match data for firmware interfaces
> such as just OF/ACPI. This driver has I2C matching table as well. Use
> i2c_get_match_data() to get match data for I2C, ACPI and DT-based
> matching.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- a/drivers/clk/clk-versaclock7.c
> +++ b/drivers/clk/clk-versaclock7.c
> @@ -1109,7 +1109,9 @@ static int vc7_probe(struct i2c_client *client)
>
>         i2c_set_clientdata(client, vc7);
>         vc7->client = client;
> -       vc7->chip_info = device_get_match_data(&client->dev);
> +       vc7->chip_info = i2c_get_match_data(client);
> +       if (!vc7->chip_info)
> +               return -ENODEV;

Can this actually fail? All tables have data pointers.

Gr{oetje,eeting}s,

                        Geert
Biju Das July 17, 2023, 7:48 a.m. UTC | #3
Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH 2/2] clk: vc7: Use i2c_get_match_data() instead of
> device_get_match_data()
> 
> Hi Biju,
> 
> On Sun, Jul 16, 2023 at 5:44 PM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> > The device_get_match_data(), is to get match data for firmware
> > interfaces such as just OF/ACPI. This driver has I2C matching table as
> > well. Use
> > i2c_get_match_data() to get match data for I2C, ACPI and DT-based
> > matching.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> Thanks for your patch!
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> > --- a/drivers/clk/clk-versaclock7.c
> > +++ b/drivers/clk/clk-versaclock7.c
> > @@ -1109,7 +1109,9 @@ static int vc7_probe(struct i2c_client *client)
> >
> >         i2c_set_clientdata(client, vc7);
> >         vc7->client = client;
> > -       vc7->chip_info = device_get_match_data(&client->dev);
> > +       vc7->chip_info = i2c_get_match_data(client);
> > +       if (!vc7->chip_info)
> > +               return -ENODEV;
> 
> Can this actually fail? All tables have data pointers.

It is not needed. I just want to avoid people sending
patches as this function can return NULL, so add a check.

Please let me know, whether I should remove this?
I am happy to send V2 taking out this check.

Cheers,
Biju
diff mbox series

Patch

diff --git a/drivers/clk/clk-versaclock7.c b/drivers/clk/clk-versaclock7.c
index 9babb7913c1c..be91aeada81c 100644
--- a/drivers/clk/clk-versaclock7.c
+++ b/drivers/clk/clk-versaclock7.c
@@ -1109,7 +1109,9 @@  static int vc7_probe(struct i2c_client *client)
 
 	i2c_set_clientdata(client, vc7);
 	vc7->client = client;
-	vc7->chip_info = device_get_match_data(&client->dev);
+	vc7->chip_info = i2c_get_match_data(client);
+	if (!vc7->chip_info)
+		return -ENODEV;
 
 	vc7->pin_xin = devm_clk_get(&client->dev, "xin");
 	if (PTR_ERR(vc7->pin_xin) == -EPROBE_DEFER) {