# 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 
- List: linux-fbdev
- Page: https://ratatoskr.run/linux-fbdev/2013/01/3988874
- Thread: https://ratatoskr.run/linux-fbdev/2013/01/3986841/t.md

```text
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.

```
