Thread (19 messages) 19 messages, 2 authors, 2013-10-23

Re: How to set fops in "struct platform_pwm_backlight_data"?

flat view

From: Mark Zhang <hidden>
Date: 2013-10-18 04:48:38
Also in: linux-pwm, lkml

On 10/17/2013 03:14 PM, Thierry Reding wrote:
On Thu, Oct 17, 2013 at 02:49:57PM +0800, Mark Zhang wrote:
quoted
Hi,

This is the first time I send mail to linux-pwm, I didn't read through
the mails in this list, so if somebody already asked this question, I'm
sorry about that.

I wanna set some fops in "struct platform_pwm_backlight_data". But the
currrent probe function in pwm_bl.c says:

-------
if (!data) {
	ret = pwm_backlight_parse_dt(&pdev->dev, &defdata);
	if (ret < 0) {
		dev_err(&pdev->dev, "failed to find platform data\n");
		return ret;
	}

	data = &defdata;
}
-------

This looks like if we set the platform data for pwm backlight device,
"pwm_backlight_parse_dt" will never have a chance to be called, which
means the stuffs I defined in backlight DT node will be ignored.

If I don't set the platform data for pwm backlight device, according to
the pwm_backlight_probe, I will never have a chance to set some fops
which I need(like "notify", "check_fb"...).

So, what I suppose to do now? Maybe there is a way to set function
pointers in DT?
Perhaps you could describe in more detail what you need the functions
for.
Okay, I just want to set the "notify" function pointer in "struct
platform_pwm_backlight_data", because I want to tune the brightness
value before the pwm-bl sets the brightness to hardware. I don't know
how to do that, unless we define the platform data explicitly.

Mark
Generally you're not supposed to mix DT and platform data. Without more
info that's about all I can say.

Thierry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help