From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Sangbeom Kim <sbkim73@samsung.com>
Cc: sameo@linux.intel.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] mfd: Add S5M8751 register definitions
Date: Wed, 22 Jun 2011 13:42:23 +0100 [thread overview]
Message-ID: <20110622124222.GC23666@sirena.org.uk> (raw)
In-Reply-To: <1308722037-6966-2-git-send-email-sbkim73@samsung.com>
On Wed, Jun 22, 2011 at 02:53:55PM +0900, Sangbeom Kim wrote:
> This patch add S5M8751 PMIC register definitions.
> Separated as large code size
These don't look like register definitions:
> +struct s5m8751;
> +
> +struct s5m8751_irq {
> + void (*handler) (struct s5m8751 *, int, void *);
> + void *data;
> +};
> +
> +struct s5m8751 {
> + struct device *dev;
> +
> + /* device IO */
> + struct i2c_client *i2c_client;
> +
> + int (*read_dev)(struct s5m8751 *s5m8751, uint8_t reg, uint8_t *val);
> + int (*write_dev)(struct s5m8751 *s5m8751, uint8_t reg, uint8_t val);
> +
> + int (*read_block_dev)(struct s5m8751 *s5m8751, uint8_t reg, int len,
> + uint8_t *val);
> + int (*write_block_dev)(struct s5m8751 *s5m8751, uint8_t reg, int len,
> + uint8_t *val);
> + u8 *reg_cache;
> +
> + /* Interrupt handling */
> + struct work_struct irq_work;
> + struct mutex irq_mutex; /* IRQ table mutex */
> + struct s5m8751_irq irq[S5M8751_NUM_IRQ];
> + int chip_irq;
> +
> + /* Client devices */
> +};
> +/* S5M8751 Device IO */
> +int s5m8751_clear_bits(struct s5m8751 *s5m8751, uint8_t reg, uint8_t mask);
> +int s5m8751_set_bits(struct s5m8751 *s5m8751, uint8_t reg, uint8_t mask);
> +int s5m8751_reg_read(struct s5m8751 *s5m8751, uint8_t reg, uint8_t *val);
> +int s5m8751_reg_write(struct s5m8751 *s5m8751, uint8_t reg, uint8_t val);
> +int s5m8751_block_read(struct s5m8751 *s5m8751, uint8_t reg, int len,
> + uint8_t *val);
> +int s5m8751_block_write(struct s5m8751 *s5m8751, uint8_t reg, int len,
> + uint8_t *val);
I posted a series earlier this week which adds a generic API for
handling register maps on I2C/SPI devices - I'll post another version of
it shortly, it'd be nice if you could loook to see if this is usable for
you.
> +/* S5M8751 internal interrupts */
> +int s5m8751_register_irq(struct s5m8751 *s5m8751, int irq,
> + void (*handler) (struct s5m8751 *, int, void *),
> + void *data);
> +
> +int s5m8751_free_irq(struct s5m8751 *s5m8751, int irq);
> +int s5m8751_mask_irq(struct s5m8751 *s5m8751, int irq);
> +int s5m8751_unmask_irq(struct s5m8751 *s5m8751, int irq);
> +int s5m8751_clear_irq(struct s5m8751 *s5m8751);
You should use genirq for this, it's supported this for quite some time
now. There's quite a few MFDs doing this which you can used for
examples.
> +/* S5M8751 sysfs functions */
> +int s5m8751_uvlo_get(struct s5m8751 *s5m8751);
> +int s5m8751_uvlo_set(struct s5m8751 *s5m8751, int voltage);
> +
> +int s5m8751_audio_dev_register(struct s5m8751 *s5m8751,
> + const char *name,
> + struct platform_device **pdev);
These shouldn't need to be in the header.
next prev parent reply other threads:[~2011-06-22 12:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-22 5:53 [PATCH 0/3] S5M8751 core driver Sangbeom Kim
2011-06-22 5:53 ` [PATCH 1/3] mfd: Add S5M8751 register definitions Sangbeom Kim
2011-06-22 12:42 ` Mark Brown [this message]
2011-06-22 23:59 ` Sangbeom Kim
2011-06-22 5:53 ` [PATCH 2/3] mfd: Add initial S5M8751 support Sangbeom Kim
2011-06-22 12:48 ` Mark Brown
2011-06-23 1:14 ` Sangbeom Kim
2011-07-04 14:07 ` Samuel Ortiz
2011-07-04 23:49 ` Sangbeom Kim
2011-06-22 5:53 ` [PATCH 3/3] mfd: Add I2C control support for S5M8751 Sangbeom Kim
2011-06-22 8:56 ` Maxin B John
2011-06-22 12:50 ` Mark Brown
2011-06-23 1:25 ` Sangbeom Kim
2011-06-23 1:28 ` Mark Brown
2011-06-23 2:21 ` Sangbeom Kim
2011-06-23 10:35 ` Mark Brown
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=20110622124222.GC23666@sirena.org.uk \
--to=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sameo@linux.intel.com \
--cc=sbkim73@samsung.com \
/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
Powered by JetHome