All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] platform/chrome: cros_ec_typec: Check for EC device
@ 2022-01-26  1:22 Prashant Malani
  2022-01-26  3:46 ` Tzung-Bi Shih
  0 siblings, 1 reply; 5+ messages in thread
From: Prashant Malani @ 2022-01-26  1:22 UTC (permalink / raw)
  To: linux-kernel
  Cc: Prashant Malani, Alyssa Ross, Benson Leung,
	Enric Balletbo i Serra, Guenter Roeck, Heikki Krogerus

The Type C ACPI device on older Chromebooks is not generated correctly
(since their EC firmware doesn't support the new commands required). In
such cases, the crafted ACPI device doesn't have an EC parent, and it is
therefore not useful (it shouldn't be generated in the first place since
the EC firmware doesn't support any of the Type C commands).

To handle devices which use these older firmware revisions, check for
the parent EC device handle, and fail the probe if it's not found.

Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver")
Reported-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
---

Alyssa, could you kindly test this with your existing setup? Thanks!

 drivers/platform/chrome/cros_ec_typec.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 5de0bfb0bc4d..7188f1d72f68 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -1076,6 +1076,12 @@ static int cros_typec_probe(struct platform_device *pdev)
 
 	typec->dev = dev;
 	typec->ec = dev_get_drvdata(pdev->dev.parent);
+
+	if (!typec->ec) {
+		dev_err(dev, "couldn't find parent EC device\n");
+		return -ENODEV;
+	}
+
 	platform_set_drvdata(pdev, typec);
 
 	ret = cros_typec_get_cmd_version(typec);
-- 
2.35.0.rc0.227.g00780c9af4-goog


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] platform/chrome: cros_ec_typec: Check for EC device
  2022-01-26  1:22 [PATCH] platform/chrome: cros_ec_typec: Check for EC device Prashant Malani
@ 2022-01-26  3:46 ` Tzung-Bi Shih
  2022-01-26  4:05   ` Prashant Malani
  0 siblings, 1 reply; 5+ messages in thread
From: Tzung-Bi Shih @ 2022-01-26  3:46 UTC (permalink / raw)
  To: Prashant Malani
  Cc: linux-kernel, Alyssa Ross, Benson Leung, Enric Balletbo i Serra,
	Guenter Roeck, Heikki Krogerus

On Wed, Jan 26, 2022 at 01:22:03AM +0000, Prashant Malani wrote:
> Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver")
> Reported-by: Alyssa Ross <hi@alyssa.is>
> Signed-off-by: Prashant Malani <pmalani@chromium.org>

With a minor comment,
Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>

> @@ -1076,6 +1076,12 @@ static int cros_typec_probe(struct platform_device *pdev)
>  
>  	typec->dev = dev;
>  	typec->ec = dev_get_drvdata(pdev->dev.parent);
> +

I would prefer to remove the blank line to make it look like an integrated block.

> +	if (!typec->ec) {
> +		dev_err(dev, "couldn't find parent EC device\n");
> +		return -ENODEV;
> +	}
> +

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] platform/chrome: cros_ec_typec: Check for EC device
  2022-01-26  3:46 ` Tzung-Bi Shih
@ 2022-01-26  4:05   ` Prashant Malani
  2022-01-26 15:33     ` Guenter Roeck
  0 siblings, 1 reply; 5+ messages in thread
From: Prashant Malani @ 2022-01-26  4:05 UTC (permalink / raw)
  To: Tzung-Bi Shih
  Cc: linux-kernel, Alyssa Ross, Benson Leung, Enric Balletbo i Serra,
	Guenter Roeck, Heikki Krogerus

Hi Tzung-Bi,

Thanks for your review.

On Tue, Jan 25, 2022 at 7:46 PM Tzung-Bi Shih <tzungbi@google.com> wrote:
>
> On Wed, Jan 26, 2022 at 01:22:03AM +0000, Prashant Malani wrote:
> > Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver")
> > Reported-by: Alyssa Ross <hi@alyssa.is>
> > Signed-off-by: Prashant Malani <pmalani@chromium.org>
>
> With a minor comment,
> Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
>
> > @@ -1076,6 +1076,12 @@ static int cros_typec_probe(struct platform_device *pdev)
> >
> >       typec->dev = dev;
> >       typec->ec = dev_get_drvdata(pdev->dev.parent);
> > +
>
> I would prefer to remove the blank line to make it look like an integrated block.

I actually prefer it as it is. typec->dev is not really part of this
"integrated block", and I don't want to add another space there.
In any case, since this is a very minor style nit, I will address it
in case there is another version required due to other comments.

>
> > +     if (!typec->ec) {
> > +             dev_err(dev, "couldn't find parent EC device\n");
> > +             return -ENODEV;
> > +     }
> > +

Best,

-Prashant

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] platform/chrome: cros_ec_typec: Check for EC device
  2022-01-26  4:05   ` Prashant Malani
@ 2022-01-26 15:33     ` Guenter Roeck
  2022-01-26 18:56       ` Prashant Malani
  0 siblings, 1 reply; 5+ messages in thread
From: Guenter Roeck @ 2022-01-26 15:33 UTC (permalink / raw)
  To: Prashant Malani
  Cc: Tzung-Bi Shih, linux-kernel, Alyssa Ross, Benson Leung,
	Enric Balletbo i Serra, Guenter Roeck, Heikki Krogerus

On Tue, Jan 25, 2022 at 8:05 PM Prashant Malani <pmalani@chromium.org> wrote:
>
> Hi Tzung-Bi,
>
> Thanks for your review.
>
> On Tue, Jan 25, 2022 at 7:46 PM Tzung-Bi Shih <tzungbi@google.com> wrote:
> >
> > On Wed, Jan 26, 2022 at 01:22:03AM +0000, Prashant Malani wrote:
> > > Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver")
> > > Reported-by: Alyssa Ross <hi@alyssa.is>
> > > Signed-off-by: Prashant Malani <pmalani@chromium.org>
> >
> > With a minor comment,
> > Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
> >
> > > @@ -1076,6 +1076,12 @@ static int cros_typec_probe(struct platform_device *pdev)
> > >
> > >       typec->dev = dev;
> > >       typec->ec = dev_get_drvdata(pdev->dev.parent);
> > > +
> >
> > I would prefer to remove the blank line to make it look like an integrated block.
>
> I actually prefer it as it is. typec->dev is not really part of this
> "integrated block", and I don't want to add another space there.

But on the other side the check is part of the "integrated block".
Maybe add an empty line between the two assignments if you want a
separation.

> In any case, since this is a very minor style nit, I will address it
> in case there is another version required due to other comments.
>
> >
> > > +     if (!typec->ec) {
> > > +             dev_err(dev, "couldn't find parent EC device\n");
> > > +             return -ENODEV;
> > > +     }
> > > +
>
> Best,
>
> -Prashant

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] platform/chrome: cros_ec_typec: Check for EC device
  2022-01-26 15:33     ` Guenter Roeck
@ 2022-01-26 18:56       ` Prashant Malani
  0 siblings, 0 replies; 5+ messages in thread
From: Prashant Malani @ 2022-01-26 18:56 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Tzung-Bi Shih, linux-kernel, Alyssa Ross, Benson Leung,
	Enric Balletbo i Serra, Guenter Roeck, Heikki Krogerus

Hey Guenter,

On Wed, Jan 26, 2022 at 7:33 AM Guenter Roeck <groeck@google.com> wrote:
>
> On Tue, Jan 25, 2022 at 8:05 PM Prashant Malani <pmalani@chromium.org> wrote:
> >
> > Hi Tzung-Bi,
> >
> > Thanks for your review.
> >
> > On Tue, Jan 25, 2022 at 7:46 PM Tzung-Bi Shih <tzungbi@google.com> wrote:
> > >
> > > On Wed, Jan 26, 2022 at 01:22:03AM +0000, Prashant Malani wrote:
> > > > Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver")
> > > > Reported-by: Alyssa Ross <hi@alyssa.is>
> > > > Signed-off-by: Prashant Malani <pmalani@chromium.org>
> > >
> > > With a minor comment,
> > > Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
> > >
> > > > @@ -1076,6 +1076,12 @@ static int cros_typec_probe(struct platform_device *pdev)
> > > >
> > > >       typec->dev = dev;
> > > >       typec->ec = dev_get_drvdata(pdev->dev.parent);
> > > > +
> > >
> > > I would prefer to remove the blank line to make it look like an integrated block.
> >
> > I actually prefer it as it is. typec->dev is not really part of this
> > "integrated block", and I don't want to add another space there.
>
> But on the other side the check is part of the "integrated block".
> Maybe add an empty line between the two assignments if you want a
> separation.

OK. I'll add the space before it.

Thanks,

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-01-26 18:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26  1:22 [PATCH] platform/chrome: cros_ec_typec: Check for EC device Prashant Malani
2022-01-26  3:46 ` Tzung-Bi Shih
2022-01-26  4:05   ` Prashant Malani
2022-01-26 15:33     ` Guenter Roeck
2022-01-26 18:56       ` Prashant Malani

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.