LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: H Hartley Sweeten <hartleys@visionengravers.com> To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: Re: [leds-pca9532] Add gpio capability Date: Mon, 31 Jan 2011 17:56:53 -0600 [thread overview] Message-ID: <0D753D10438DA54287A00B027084269764CEEDA479@AUSP01VMBX24.collaborationhost.net> (raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1696 bytes --] >>>> + if (gpios) { >>>> + data->gpio.label = "gpio-pca9532"; >>>> + data->gpio.set = pca9532_gpio_set_value; >>>> + data->gpio.get = pca9532_gpio_get_value; >>>> + data->gpio.request = pca9532_gpio_request_pin; >>>> + data->gpio.can_sleep = 1; >>>> + data->gpio.base = pdata->gpio_base; >>>> + data->gpio.ngpio = 16; >>>> + data->gpio.dev = &client->dev; >>>> + data->gpio.owner = THIS_MODULE; >>> >>> I'd assume that you also need to define a direction_output-function which >>> always >>> returns success? >> >> Yes, you are right. It is not possible to set direction in hw, but I >> should provide them. > > It should be okay to skip direction_input, because gpiolib will return an error > if it is not available. This is exactly why IMO you need a direction_output > returning 0. Otherwise drivers checking if that operation was successful, might > be fooled. >From the datasheet: 6.4 Pins used as GPIOs LEDn pins not used to control LEDs can be used as General Purpose I/Os (GPIOs). To use as input, set LEDn to high-impendance (00) and then read the pin state via the INPUT0 or INPUT1 register. For use as output, connect external pull-up resistor to the pin and size it according to the DC recommended operating characteristics. LEDn output is HIGH when the output is programmed as high-impedance, and LOW when programmed LOW through the 'LED selector' register. The output can be pulse-width controlled when PWM0 or PWM1 are used. So, you should provide both a direction_input and direction_output. Regards, Hartley ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
next reply other threads:[~2011-01-31 23:56 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-01-31 23:56 H Hartley Sweeten [this message] 2011-02-01 8:01 ` [leds-pca9532] Add gpio capability Wolfram Sang 2011-02-01 16:27 ` H Hartley Sweeten 2011-02-01 17:22 ` Joachim Eastwood 2011-02-01 18:44 ` Wolfram Sang -- strict thread matches above, loose matches on Subject: below -- 2011-01-30 17:31 Joachim Eastwood 2011-01-30 18:25 ` Wolfram Sang 2011-01-30 19:12 ` Joachim Eastwood 2011-01-30 21:43 ` Wolfram Sang
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=0D753D10438DA54287A00B027084269764CEEDA479@AUSP01VMBX24.collaborationhost.net \ --to=hartleys@visionengravers.com \ --cc=linux-kernel@vger.kernel.org \ /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: linkBe 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; as well as URLs for NNTP newsgroup(s).