lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1359127704.3287.12.camel@thor.lan>
Date:	Fri, 25 Jan 2013 10:28:24 -0500
From:	Peter Hurley <peter@...leysoftware.com>
To:	Linus Walleij <linus.walleij@...aro.org>
Cc:	Aaron Sierra <asierra@...-inc.com>,
	Paul Bolle <pebolle@...cali.nl>,
	Samuel Ortiz <sameo@...ux.intel.com>,
	Agócs Pál <agocs.pal.86@...il.com>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3] lpc_ich: fix gpio base and control offsets

On Fri, 2013-01-25 at 08:44 -0500, Peter Hurley wrote:
> On Fri, 2013-01-25 at 10:47 +0100, Linus Walleij wrote:
> > On Thu, Jan 24, 2013 at 9:52 PM, Aaron Sierra <asierra@...-inc.com> wrote:
> > 
> > > In ICH5 and earlier the GPIOBASE and GPIOCTRL registers are found at
> > > offsets 0x58 and 0x5C, respectively. This patch allows GPIO access to
> > > properly be enabled (and disabled) for these chipsets.
> > >
> > > Signed-off-by: Agócs Pál <agocs.pal.86@...il.com>
> > > Signed-off-by: Aaron Sierra <asierra@...-inc.com>
> > 
> > OK... Paul, can you test this on your setup?
> > 
> > > @@ -858,14 +874,35 @@ wdt_done:
> > >  static int lpc_ich_probe(struct pci_dev *dev,
> > >                                 const struct pci_device_id *id)
> > >  {
> > > +       struct lpc_ich_priv *priv;
> > >         int ret;
> > >         bool cell_added = false;
> > >
> > > -       ret = lpc_ich_init_wdt(dev, id);
> > > +       priv = kmalloc(GFP_KERNEL, sizeof(struct lpc_ich_priv));
> > > +       if (!priv)
> > > +               return -ENOMEM;
> > > +
> > > +       priv->chipset = id->driver_data;
> > 
> > So where is this id->driver_data which is just assigned to
> > priv->chipset coming from again? ACPI something?
> 
> That's how pci device probing works.
> 
> The driver defines a struct pci_device_id[] table with
> DEFINE_PCI_DEVICE_TABLE(), initializing the .driver_data fields with an
> index into a static array of device types (in this case, struct
> lpc_ich_info lpc_chipset_info[]), and the pci subsystem passes the
> actual matching pci_device_id* to the driver's probe() function.
> 
> There's more information in Documentation/pci.txt

Correction. Documentation/PCI/pci.txt



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ