[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3208798.X7kqxH1FjQ@percival>
Date: Wed, 23 Jan 2013 19:29:16 +0900
From: Alex Courbot <acourbot@...dia.com>
To: Leela Krishna Amudala <leelakrishna.a@...il.com>
CC: Thierry Reding <thierry.reding@...onic-design.de>,
Stephen Warren <swarren@...dotorg.org>,
"linux-fbdev@...r.kernel.org" <linux-fbdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
Mark Zhang <markz@...dia.com>,
"gnurou@...il.com" <gnurou@...il.com>
Subject: Re: [PATCH 2/3] tegra: pwm-backlight: add tegra pwm-bl driver
On Wednesday 23 January 2013 18:15:30 Leela Krishna Amudala wrote:
> > + pwm_backlight_set_subdriver_data(dev, data);
>
> Here you are passing ventana_bl_data pointer as input and in the
> pwm_backlight_get_subdriver_data() function you are assigning the
> received driver data to backlight_device pointer. As both are two
> different structures with different structure fields in it. There can
> be a chance for a crash.
That's because the following happens later in pwm_backlight_probe():
pb->subdriver_data = dev_get_drvdata(&pdev->dev);
...
bl = backlight_device_register(dev_name(&pdev->dev), &pdev->dev, pb,
&pwm_backlight_ops, &props);
...
platform_set_drvdata(pdev, bl);
So from then on the result of dev_get_drvdata() is indeed an instance of
backlight_device from which we can retrieve the subdriver data. I'm not really
proud of this. But fortunately it seems like we are going to do things
differently.
Alex.
--
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