diff options
author | Marc Reilly <marc@cpdesign.com.au> | 2012-04-01 16:41:38 +1000 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-05-01 12:35:40 +0200 |
commit | a0c7c1d48ea9f53c67c79eda498bb8eda1422748 (patch) | |
tree | b54f9495379ff485bcc63650be9687a69d3e55c4 /drivers/mfd/mc13xxx.h | |
parent | 91b5e741184ea9836cd7d7509e4f9b6eefa27df2 (diff) | |
download | kernel_goldelico_gta04-a0c7c1d48ea9f53c67c79eda498bb8eda1422748.zip kernel_goldelico_gta04-a0c7c1d48ea9f53c67c79eda498bb8eda1422748.tar.gz kernel_goldelico_gta04-a0c7c1d48ea9f53c67c79eda498bb8eda1422748.tar.bz2 |
mfd: Move the mc13xxx-core spi specific code into a separate module
All spi specific code is moved into a new module. The mc13xxx struct
moves to a new local include file by necessity.
A new config choice selects the SPI bus type support and by default is
value of SPI_MASTER to remain compatible with existing configs.
Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/mc13xxx.h')
-rw-r--r-- | drivers/mfd/mc13xxx.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/drivers/mfd/mc13xxx.h b/drivers/mfd/mc13xxx.h new file mode 100644 index 0000000..bbba06f --- /dev/null +++ b/drivers/mfd/mc13xxx.h @@ -0,0 +1,45 @@ +/* + * Copyright 2012 Creative Product Design + * Marc Reilly <marc@cpdesign.com.au> + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License version 2 as published by the + * Free Software Foundation. + */ +#ifndef __DRIVERS_MFD_MC13XXX_H +#define __DRIVERS_MFD_MC13XXX_H + +#include <linux/mutex.h> +#include <linux/regmap.h> +#include <linux/mfd/mc13xxx.h> + +enum mc13xxx_id { + MC13XXX_ID_MC13783, + MC13XXX_ID_MC13892, + MC13XXX_ID_INVALID, +}; + +#define MC13XXX_NUMREGS 0x3f + +struct mc13xxx { + struct regmap *regmap; + + struct device *dev; + enum mc13xxx_id ictype; + + struct mutex lock; + int irq; + int flags; + + irq_handler_t irqhandler[MC13XXX_NUM_IRQ]; + void *irqdata[MC13XXX_NUM_IRQ]; + + int adcflags; +}; + +int mc13xxx_common_init(struct mc13xxx *mc13xxx, + struct mc13xxx_platform_data *pdata, int irq); + +void mc13xxx_common_cleanup(struct mc13xxx *mc13xxx); + +#endif /* __DRIVERS_MFD_MC13XXX_H */ |