From: Pavan Savoy Date: Fri, 10 Sep 2010 19:58:55 +0000 (-0400) Subject: staging: ti-st: fix kim platform device id X-Git-Tag: v2.6.37-rc1~60^2~3^2~567 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=dfb7ef7d84fa45270b0138dbe6ab4316b03cc724;p=karo-tx-linux.git staging: ti-st: fix kim platform device id Platform devices tend to have id as -1 when only 1 device exist and a value >=0 when multiple devices exist, since we plan to store all these platform devices if multiple exist, there was a requirement to have id to be >=0. The patch fixes this problem. Signed-off-by: Pavan Savoy Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/ti-st/st_kim.c b/drivers/staging/ti-st/st_kim.c index 9e99463f76e8..be18c7a17446 100644 --- a/drivers/staging/ti-st/st_kim.c +++ b/drivers/staging/ti-st/st_kim.c @@ -638,7 +638,14 @@ static int kim_probe(struct platform_device *pdev) long *gpios = pdev->dev.platform_data; struct kim_data_s *kim_gdata; - st_kim_devices[pdev->id] = pdev; + if ((pdev->id != -1) && (pdev->id < MAX_ST_DEVICES)) { + /* multiple devices could exist */ + st_kim_devices[pdev->id] = pdev; + } else { + /* platform's sure about existance of 1 device */ + st_kim_devices[0] = pdev; + } + kim_gdata = kzalloc(sizeof(struct kim_data_s), GFP_ATOMIC); if (!kim_gdata) { pr_err("no mem to allocate");