PATCH Add support for the Iomega IX2-200 Device Tree
Jason Cooper
jason at lakedaemon.net
Wed Aug 15 19:41:59 EDT 2012
On Thu, Aug 16, 2012 at 12:34:46AM +0100, alan butler wrote:
> On 16 August 2012 00:12, alan butler <alanbutty12 at gmail.com> wrote:
> > On 16 August 2012 00:02, alan butler <alanbutty12 at gmail.com> wrote:
> >> On 15 August 2012 23:16, Andrew Lunn <andrew at lunn.ch> wrote:
> >>> On Wed, Aug 15, 2012 at 10:57:27PM +0100, alan butler wrote:
> >>>> On 15 August 2012 22:52, Andrew Lunn <andrew at lunn.ch> wrote:
> >>>> >> That would be great i just need to recreate the patch with those
> >>>> >> changes but i was talking with jason cooper i believe and he said to
> >>>> >> put the buttons for the device in the dts file and im working on that
> >>>> >> but the kernel panics
> >>>> >
> >>>> > Please show us the panic.
> >>>> >
> >>>> > Andrew
> >>>>
> >>>> i sent it to jason a lil bit earlier but i guess i must of forgotten
> >>>> to cc the list on the last message or 2 but here is the panic again:
> >>>>
> >>>> [ 5.976074] Key type dns_resolver registered
> >>>> [ 5.981782] Unable to handle kernel NULL pointer dereference at
> >>>> virtual address 00000004
> >>>> [ 5.989932] pgd = c0004000
> >>>> [ 5.992649] [00000004] *pgd=00000000
> >>>> [ 5.996247] Internal error: Oops: 805 [#1] ARM
> >>>> [ 6.000707] Modules linked in:
> >>>> [ 6.003780] CPU: 0 Not tainted (3.6.0-rc1-next-20120814 #13)
> >>>> [ 6.009822] PC is at gpio_keys_probe+0x110/0x6d4
> >>>
> >>> You might want to scatter some printk() in gpio_keys_probe() and see
> >>> where it panics. It will probably then be clear what is wrong.
> >>>
> >>> Andrew
> >>
> >> where do i find the gpio_keys_probe() ?
> >
> > i found the gpio_keys_probe() and it seems that it is failing in this
> > piece of code i put a printk() before and after it and it didnt reach
> > the printk after it:
> >
> > if (!pdata) {
> > pdata = gpio_keys_get_devtree_pdata(dev);
> > if (IS_ERR(pdata))
> > return PTR_ERR(pdata);
> > }
> >
> > ddata = kzalloc(sizeof(struct gpio_keys_drvdata) +
> > pdata->nbuttons * sizeof(struct gpio_button_data),
> > GFP_KERNEL);
> > input = input_allocate_device();
> > if (!ddata || !input) {
> > dev_err(dev, "failed to allocate state\n");
> > error = -ENOMEM;
> > goto fail1;
> > }
>
> actualy it seems to not be getting past this piece of code in what i
> posted before:
>
> if (!pdata) {
> pdata = gpio_keys_get_devtree_pdata(dev);
> if (IS_ERR(pdata))
> return PTR_ERR(pdata);
> }
That means gpio_keys_get_devtree_pdata() is returning an error. Have
you tried 'linux,input-type = <0x05>;' ?
thx,
Jason.
More information about the linux-arm-kernel
mailing list