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

Thierry Reding
2013-10-22T07:27:15Z

[-- Attachment #1: Type: text/plain, Size: 1799 bytes --]

On Fri, Oct 18, 2013 at 12:48:12PM +0800, Mark Zhang wrote:
> On 10/17/2013 03:14 PM, Thierry Reding wrote:
> > On Thu, Oct 17, 2013 at 02:49:57PM +0800, Mark Zhang wrote:
> >> 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.

Okay, my question should have been what you need the functions for and
why you think you need them.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]