public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bill Gatliff <bgat@billgatliff.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-embedded@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PWM PATCH 1/5] API to consolidate PWM devices behind a common user and kernel interface
Date: Thu, 11 Feb 2010 14:51:56 -0600	[thread overview]
Message-ID: <4B746DEC.7080602@billgatliff.com> (raw)
In-Reply-To: <20100211200456.GA1487@ucw.cz>

Pavel Machek wrote:
> Exactly; if your hw can be damaged by software, it was misdesigned.
>
> Is the paragraph #1 really neccessary?
>   

It provides a little background on the subject matter.  I don't think
it's mandatory, but I don't see the harm in keeping it.  I think it
improves the document overall from an editorial perspective, however.


>> +pwm_free() -- Marks a PWM channel as no longer in use.  The PWM device
>> +is stopped before it is released by the API.
>>     
>
> free is normally used for something else. Rename to open/close?
>   

... or request/release?

>> +pwm_start(), pwm_stop() -- Turns the PWM signal on and off.  Except
>> +where stated otherwise by a driver author, signals are stopped at the
>> +end of the current period, at which time the output is set to its
>> +inactive state.
>>     
>
> What does it mean to stop a signal? What is the difference between 0%
> duty cycle and stop() ?
>   

Depends on the hardware.  For a true PWM peripheral, a 0% duty cycle
might still have the base peripheral clock for the device running. 
Whereas a pwm_stop() signal could be used to turn off the clock to the
peripheral.

> Is polarity realy required? Can't driver just replace duty with
> 100%-duty

Actually, yes in some cases.  Users can always do the 100%-duty math,
but some hardware asserts a specific output state when you stop the
peripheral that's potentially different from 0% duty.  Also, some
hardware begins the PWM cycle with the output high, while others do with
the output low.  It isn't necessarily the case that the user cares, but
I was thinking that having the API allow for different polarity might
prevent some applications having to optionally do the %duty vs.
100-%duty conversion themselves.


b.g.

-- 
Bill Gatliff
Embedded systems training and consulting
http://billgatliff.com
bgat@billgatliff.com


  reply	other threads:[~2010-02-11 20:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-02  7:14 [PWM PATCH 0/5] Implements a common PWM API Bill Gatliff
2010-02-02  7:14 ` [PWM PATCH 1/5] API to consolidate PWM devices behind a common user and kernel interface Bill Gatliff
2010-02-02 18:20   ` H Hartley Sweeten
2010-02-03  4:12     ` Bill Gatliff
2010-02-04  1:39   ` H Hartley Sweeten
2010-02-04  5:31     ` Bill Gatliff
2010-02-04 17:30       ` Bill Gatliff
2010-02-11 20:04   ` Pavel Machek
2010-02-11 20:51     ` Bill Gatliff [this message]
2010-02-11 21:00       ` Pavel Machek
2010-02-02  7:14 ` [PWM PATCH 2/5] Emulates PWM hardware using a high-resolution timer and a GPIO pin Bill Gatliff
2010-02-11 20:07   ` Pavel Machek
2010-02-11 20:35     ` Bill Gatliff
2010-02-11 20:58       ` Pavel Machek
2010-02-12  7:22         ` Stanislav O. Bezzubtsev
2010-02-12 13:13           ` Geert Uytterhoeven
2010-02-12 13:41           ` Pavel Machek
2010-02-12 13:53       ` H Hartley Sweeten
2010-02-12 16:26         ` Bill Gatliff
2010-02-16 18:12           ` H Hartley Sweeten
2010-02-02  7:14 ` [PWM PATCH 3/5] Expunge old Atmel PWMC driver, replacing it with one that conforms to the PWM API Bill Gatliff
2010-02-02  7:16   ` Bill Gatliff
2010-02-02 17:52   ` H Hartley Sweeten
2010-02-03  4:10     ` Bill Gatliff
2010-02-02  7:14 ` [PWM PATCH 4/5] PWM-based LED control Bill Gatliff
2010-02-02  7:14 ` [PWM PATCH 5/5] LED "dimmer" trigger Bill Gatliff
2010-02-02 17:44 ` [PWM PATCH 0/5] Implements a common PWM API H Hartley Sweeten
2010-02-03  4:08   ` Bill Gatliff
2010-02-04 23:20   ` H Hartley Sweeten
2010-02-05 18:53     ` Bill Gatliff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B746DEC.7080602@billgatliff.com \
    --to=bgat@billgatliff.com \
    --cc=linux-embedded@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox