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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdY-U8FgYFkVcbQg57XF7BhsjBcJDopPTLhgRMRLHv7LZA@mail.gmail.com>
Date:	Thu, 16 Feb 2012 20:24:47 +0100
From:	Linus Walleij <linus.walleij@...aro.org>
To:	Alessandro Rubini <rubini@...dd.com>
Cc:	linux-kernel@...r.kernel.org, giancarlo.asnaghi@...com,
	alan@...ux.intel.com, sameo@...ux.intel.com,
	grant.likely@...retlab.ca, linus.walleij@...ricsson.com
Subject: Re: [PATCH V2 2/2] gpio: add STA2X11 GPIO block

On Thu, Feb 16, 2012 at 2:00 PM, Alessandro Rubini <rubini@...dd.com> wrote:

> +static void gsta_gpio_setup(struct gsta_gpio *chip) /* called from probe */
> +{
> +       struct gpio_chip *gpio = &chip->gpio;
> +
> +       /*
> +        * ARCH_NR_GPIOS is currently 256 and dynamic allocation starts
> +        * from the end. However, for compatiility, we need the first

[Nitpick: spelling]

> +        * ConneXt device to start from gpio 0: it's the main chipset
> +        * on most boards so documents and drivers assume gpio0..gpio127
> +        */
> +       static int gpio_base;
> +
> +       gpio->label = dev_name(chip->dev);
> +       gpio->owner = THIS_MODULE;
> +       gpio->direction_input = gsta_gpio_direction_input;
> +       gpio->get = gsta_gpio_get;
> +       gpio->direction_output = gsta_gpio_direction_output;
> +       gpio->set = gsta_gpio_set;
> +       gpio->dbg_show = NULL;
> +       gpio->base = gpio_base;
> +       gpio->base = 0;

What are you doing here?

It seems like you first use the provided base, then hard code it
to zero.

The GPIO pin number space is global and you need to be able to
handle the case where several controllers of this kind are plugged
in, will you not?

This looks like it assumes you only ever have one card on the
system.

Make sure that the global GPIO numberspace is properly
handled on these systems, alas I am a bit worried that this
may not be that very easy.

Yours,
Linus Walleij
--
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