lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKohpo=LHjV2tV1R34Q_As4s2Yh071+t-bLyFBDGSZ_u5vKo7Q@mail.gmail.com>
Date:	Mon, 22 Oct 2012 11:51:11 +0530
From:	Viresh Kumar <viresh.kumar@...aro.org>
To:	thierry.reding@...onic-design.de,
	Shiraz Hashim <shiraz.hashim@...com>
Cc:	linux-kernel@...r.kernel.org, spear-devel@...t.st.com
Subject: Re: [PATCH V3] PWM: Add SPEAr PWM chip driver support

On 22 October 2012 11:36, Shiraz Hashim <shiraz.hashim@...com> wrote:
> On Mon, Oct 22, 2012 at 09:39:21AM +0530, viresh kumar wrote:
>> On Mon, Oct 22, 2012 at 9:21 AM, Shiraz Hashim <shiraz.hashim@...com> wrote:

>> > +static int spear_pwm_remove(struct platform_device *pdev)
>> > +{
>> > +       struct spear_pwm_chip *pc = platform_get_drvdata(pdev);
>> > +       int i;
>> > +
>> > +       for (i = 0; i < NUM_PWM; i++) {
>> > +               struct pwm_device *pwm = &pc->chip.pwms[i];
>> > +
>> > +               if (test_bit(PWMF_ENABLED, &pwm->flags)) {
>> > +                       spear_pwm_writel(pc, i, PWMCR, 0);
>> > +                       clk_disable(pc->clk);
>> > +               }
>> > +       }
>> > +
>> > +       /* clk was prepared in probe, hence unprepare it here */
>> > +       clk_unprepare(pc->clk);
>>
>> I believe you need to remove the chip first and then do above to
>> avoid any race conditions, that might occur.
>
> I am afraid, I would loose all chips and their related information
> (PWMF_ENABLED) then.

I have just checked core's code, and yes you are correct.
Now i have another doubt :)

Why shouldn't you do this instead:

       for (i = 0; i < NUM_PWM; i++)
              pwm_diable(&pc->chip.pwms[i]);

And, why should we put above code in pwmchip_remove() instead, so that
pwm drivers don't need to do all this?

@Thierry: Your inputs are required here :)

>> > +       return pwmchip_remove(&pc->chip);
>> > +}
>> > +
>>
>> After all this please add my:
>> Acked-by: Viresh Kumar <viresh.kumar@...aro.org>
>
> I had already added your sob as you were the original author,
> should I add a separate acked-by also ?

Yes, it should be fine. I have seen that earlier.

Because you weren't the original author, you kept my SOB.
This Acked-by will guarantee that original author is okay with
the changes you have made. :)

--
viresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ