Hi Sonic, On Wed, Feb 04, 2015 at 03:58:04PM +0800, Sonic Zhang wrote: > @@ -102,7 +95,7 @@ static int bfin_rotary_probe(struct platform_device *pdev) > return -EINVAL; > } > > - error = peripheral_request_list(per_cnt, dev_name(&pdev->dev)); > + error = peripheral_request_list(pdata->pin_list, dev_name(&pdev->dev)); I do not think the driver will be happy with pdata->oin_list == NULL here. > if (error) { > dev_err(&pdev->dev, "requesting peripherals failed\n"); > return error; > @@ -197,6 +190,7 @@ out1: > > static int bfin_rotary_remove(struct platform_device *pdev) > { > + struct bfin_rotary_platform_data *pdata = dev_get_platdata(&pdev->dev); Why do you need this change? > struct bfin_rot *rotary = platform_get_drvdata(pdev); > > bfin_write_CNT_CONFIG(0); > @@ -204,7 +198,7 @@ static int bfin_rotary_remove(struct platform_device *pdev) > > free_irq(rotary->irq, pdev); > input_unregister_device(rotary->input); > - peripheral_free_list(per_cnt); > + peripheral_free_list(pdata->pin_list); Same here: NULL will cause severe indigestion. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html