All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Cohen <david.a.cohen@linux.intel.com>
To: Felipe Balbi <balbi@ti.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	stable <stable@vger.kernel.org>
Subject: Re: [PATCH] pinctrl: baytrail: show output gpio state correctly on Intel Baytrail
Date: Fri, 31 Oct 2014 09:23:39 -0700	[thread overview]
Message-ID: <20141031162339.GA7136@psi-dev26.jf.intel.com> (raw)
In-Reply-To: <20141031132005.GB1273@saruman>

On Fri, Oct 31, 2014 at 08:20:05AM -0500, Felipe Balbi wrote:
> Hi,
> 
> On Fri, Oct 31, 2014 at 09:12:16AM +0100, Linus Walleij wrote:
> > On Tue, Oct 28, 2014 at 3:42 PM, Felipe Balbi <balbi@ti.com> wrote:
> > > On Tue, Oct 28, 2014 at 11:15:20AM +0100, Linus Walleij wrote:
> > >> On Mon, Oct 13, 2014 at 9:36 PM, Felipe Balbi <balbi@ti.com> wrote:
> > >> > On Mon, Oct 13, 2014 at 02:26:32PM -0500, Felipe Balbi wrote:
> > >>
> > >> > I also noticed that this is missing:
> > >> >
> > >> > diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c
> > >> > index e12e5b0..7db5ab9 100644
> > >> > --- a/drivers/pinctrl/pinctrl-baytrail.c
> > >> > +++ b/drivers/pinctrl/pinctrl-baytrail.c
> > >> > @@ -614,3 +614,9 @@ static int __init byt_gpio_init(void)
> > >> >  }
> > >> >
> > >> >  subsys_initcall(byt_gpio_init);
> > >> > +
> > >> > +static void __exit byt_gpio_exit(void)
> > >> > +{
> > >> > +       platform_driver_unregister(&byt_gpio_driver);
> > >> > +}
> > >> > +module_exit(byt_gpio_exit);
> > >>
> > >> But the Baytrail driver is not a loadable module, it is bool:
> > >>
> > >> config PINCTRL_BAYTRAIL
> > >>         bool "Intel Baytrail GPIO pin control"
> > >>         depends on GPIOLIB && ACPI && X86
> > >>
> > >> (...)
> > >>
> > >> So I guess it won't need handling for removal, as it can only
> > >> be compiled-in.
> > >
> > > you can still unbind it through sysfs, right ? The thing also already
> > > provides a ->remove() method anyway.
> > 
> > Yes you're right of course...
> > 
> > But another way to get rid of the dilemma is to set
> > .suppress_bind_attrs = true on the .driver field of the
> > device driver. The one can't unbind it through sysfs anymore.
> > 
> >         .driver = {
> >                 .name   = "foo",
> >                 .suppress_bind_attrs = true,
> >         },
> > 
> > So one of them need to be done.
> > 
> > I suspect this is a kind of common problem...
> 
> so instead of taking of taking a three-liner which just makes sure this
> can be used as "intended" you prefer to:
> 
> diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c
> index e12e5b0..254ba81 100644
> --- a/drivers/pinctrl/pinctrl-baytrail.c
> +++ b/drivers/pinctrl/pinctrl-baytrail.c
> @@ -587,16 +587,6 @@ static const struct acpi_device_id byt_gpio_acpi_match[] = {
>  };
>  MODULE_DEVICE_TABLE(acpi, byt_gpio_acpi_match);
>  
> -static int byt_gpio_remove(struct platform_device *pdev)
> -{
> -	struct byt_gpio *vg = platform_get_drvdata(pdev);
> -
> -	pm_runtime_disable(&pdev->dev);
> -	gpiochip_remove(&vg->chip);
> -
> -	return 0;
> -}
> -
>  static struct platform_driver byt_gpio_driver = {
>  	.probe          = byt_gpio_probe,
>  	.remove         = byt_gpio_remove,
> @@ -605,6 +595,7 @@ static struct platform_driver byt_gpio_driver = {
>  		.owner  = THIS_MODULE,
>  		.pm	= &byt_gpio_pm_ops,
>  		.acpi_match_table = ACPI_PTR(byt_gpio_acpi_match),
> +		.suppress_bind_attrs = true,
>  	},
>  };
>  
> 
> I don't quite care since this is not an architecture I work for, but I
> prefer drivers which can be unbound one way or another. Not to mention
> that there's already a ->remove callback on the platform_driver anyway.

I think adding the module exit + allowing this driver to be a module
would be a good approach. Then we don't need to force generic x86 kernel
binaries to always have this driver. Unless Mathias or Mika knows a
constraint to force this driver to be builtin only.

Br, David

> 
> -- 
> balbi

  reply	other threads:[~2014-10-31 16:23 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-03 16:55 [PATCH] pinctrl: baytrail: show output gpio state correctly on Intel Baytrail David Cohen
2014-10-13 18:23 ` David Cohen
2014-10-13 18:23   ` David Cohen
2014-10-13 19:14   ` Felipe Balbi
2014-10-13 19:14     ` Felipe Balbi
2014-10-13 19:24     ` David Cohen
2014-10-13 19:26       ` Felipe Balbi
2014-10-13 19:26         ` Felipe Balbi
2014-10-13 19:36         ` Felipe Balbi
2014-10-13 19:36           ` Felipe Balbi
2014-10-13 20:19           ` David Cohen
2014-10-28 10:15           ` Linus Walleij
2014-10-28 14:42             ` Felipe Balbi
2014-10-31  8:12               ` Linus Walleij
2014-10-31 13:20                 ` Felipe Balbi
2014-10-31 16:23                   ` David Cohen [this message]
2014-10-31 18:45                     ` David Cohen
2014-11-03  9:24                       ` Mika Westerberg
2014-11-03 15:00                         ` Felipe Balbi
2014-11-03 15:00                           ` Felipe Balbi
2014-11-03 15:27                           ` Mika Westerberg
2014-11-03 15:35                             ` Felipe Balbi
2014-11-03 15:35                               ` Felipe Balbi
2014-11-03 15:42                             ` Mika Westerberg
2014-11-03 15:50                               ` Felipe Balbi
2014-11-03 15:50                                 ` Felipe Balbi
2014-11-03 18:42                                 ` Mika Westerberg
2014-11-03 20:40                                   ` Felipe Balbi
2014-11-03 20:40                                     ` Felipe Balbi
2014-11-04  7:51                                     ` Mika Westerberg
2014-11-04 14:44                                       ` Felipe Balbi
2014-11-04 14:44                                         ` Felipe Balbi
2014-11-03 22:19                                   ` David Cohen
2014-11-04  7:59                                     ` Mika Westerberg
2014-11-04 18:05                                       ` David Cohen
2014-11-04 18:57                                         ` Mika Westerberg
2014-11-04 19:11                                           ` David Cohen
2014-11-04 19:34                                             ` Mika Westerberg
2014-11-04 21:51                                               ` David Cohen
2014-11-05  8:40                                                 ` Mika Westerberg
2014-11-14  9:40                                                 ` Linus Walleij
2014-11-14  9:39                                           ` Linus Walleij
2014-11-14  9:53                                             ` Mika Westerberg
2014-11-14 23:19                                               ` Rafael J. Wysocki
2014-11-14  9:30                                   ` Linus Walleij
2014-11-03 15:33                   ` Linus Walleij
2014-10-13 20:16         ` David Cohen
2014-10-14 17:54   ` [PATCH v2] " David Cohen
2014-10-14 17:54     ` David Cohen
2014-10-14 18:19     ` Felipe Balbi
2014-10-14 18:19       ` Felipe Balbi
2014-10-28 10:17     ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141031162339.GA7136@psi-dev26.jf.intel.com \
    --to=david.a.cohen@linux.intel.com \
    --cc=balbi@ti.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.