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. Mark > Generally you're not supposed to mix DT and platform data. Without more > info that's about all I can say. > > Thierry > -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html