Thread (25 messages) flat view 25 messages, 7 authors, 2013-01-24

Re: [PATCH 2/3] tegra: pwm-backlight: add tegra pwm-bl driver

From: Alex Courbot <acourbot@nvidia.com>
Date: 2013-01-23 10:29:20
Also in: linux-tegra, lkml

On Wednesday 23 January 2013 18:15:30 Leela Krishna Amudala wrote:
quoted
+       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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help