PATCH Add support for the Iomega IX2-200 Device Tree
Andrew Lunn
andrew at lunn.ch
Thu Aug 16 18:10:00 EDT 2012
> the problem seems to be in this comming from this line:
>
> button->gpio = of_get_gpio_flags(pp, 0, &flags);
>
> in the function :
>
> /*
> * Translate OpenFirmware node properties into platform_data
> */
> static struct gpio_keys_platform_data * __devinit
>
> of the gpio_keys.c file or whatever that line links to. It does not
> know how to deal with some NULL reference as far as i can tell.
Do you mean this piece of code:
while ((pp = of_get_next_child(node, pp))) {
enum of_gpio_flags flags;
if (!of_find_property(pp, "gpios", NULL)) {
pdata->nbuttons--;
dev_warn(dev, "Found button without gpios\n");
continue;
}
buttons[i].gpio = of_get_gpio_flags(pp, 0, &flags);
This would fit with:
[ 5.981782] Unable to handle kernel NULL pointer dereference at
virtual address 00000004
since gpio is at offset 4 in buttons. What is the value of i when it
oppses? What is buttons[i]?
Andrew
More information about the linux-arm-kernel
mailing list