diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-26 20:10:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-26 20:10:20 -0400 |
commit | 62c9072bee2272232d0ed92dc8148c48c1f10f8e (patch) | |
tree | 5c64b479af4b97cbc21db3d0a2a0afdae60d9e8f /arch/arm/plat-omap | |
parent | 4b30b6f23a1a59cda29cc12566eb4f32a22a8069 (diff) | |
parent | c2fda22207e2977d0b80eac58a9004b6f8beed6d (diff) |
Merge branch 'next/fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc
* 'next/fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (24 commits)
ASoC: omap: McBSP: fix build breakage on OMAP1
OMAP: hwmod: fix the i2c-reset timeout during bootup
I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr
I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revision
I2C: OMAP1/OMAP2+: create omap I2C functionality flags for each cpu_... test
I2C: OMAP2+: Introduce I2C IP versioning constants
I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32
I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2c
OMAP4: hwmod data: Change DSS main_clk scheme
OMAP4: powerdomain data: Remove unsupported MPU powerdomain state
OMAP4: clock data: Keep GPMC clocks always enabled and hardware managed
OMAP4: powerdomain data: Fix core mem states and missing cefuse flag
OMAP2+: PM: Initialise sleep_switch to a non-valid value
OMAP4: hwmod data: Modify DSS opt clocks
OMAP4: iommu: fix clock name
omap: iovmm: s/sg_dma_len(sg)/sg->length/
omap: iommu: fix pte programming
arm: omap3: cm-t35: fix slow path warning
arm: omap3: cm-t35: minor comments fixes
omap: ZOOM: QUART: Request reset GPIO
...
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/dmtimer.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/i2c.h | 6 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap_hwmod.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/iovmm.c | 6 | ||||
-rw-r--r-- | arch/arm/plat-omap/mcbsp.c | 27 |
5 files changed, 38 insertions, 6 deletions
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c index 8dfb8186b2c2..75a847dd776a 100644 --- a/arch/arm/plat-omap/dmtimer.c +++ b/arch/arm/plat-omap/dmtimer.c | |||
@@ -209,8 +209,8 @@ static void omap_dm_timer_reset(struct omap_dm_timer *timer) | |||
209 | } | 209 | } |
210 | omap_dm_timer_set_source(timer, OMAP_TIMER_SRC_32_KHZ); | 210 | omap_dm_timer_set_source(timer, OMAP_TIMER_SRC_32_KHZ); |
211 | 211 | ||
212 | /* Enable autoidle on OMAP2 / OMAP3 */ | 212 | /* Enable autoidle on OMAP2+ */ |
213 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) | 213 | if (cpu_class_is_omap2()) |
214 | autoidle = 1; | 214 | autoidle = 1; |
215 | 215 | ||
216 | /* | 216 | /* |
diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h index 878d632c4092..7c22b9e10dc3 100644 --- a/arch/arm/plat-omap/include/plat/i2c.h +++ b/arch/arm/plat-omap/include/plat/i2c.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #define __ASM__ARCH_OMAP_I2C_H | 22 | #define __ASM__ARCH_OMAP_I2C_H |
23 | 23 | ||
24 | #include <linux/i2c.h> | 24 | #include <linux/i2c.h> |
25 | #include <linux/i2c-omap.h> | ||
25 | 26 | ||
26 | #if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE) | 27 | #if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE) |
27 | extern int omap_register_i2c_bus(int bus_id, u32 clkrate, | 28 | extern int omap_register_i2c_bus(int bus_id, u32 clkrate, |
@@ -46,10 +47,13 @@ static inline int omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
46 | */ | 47 | */ |
47 | struct omap_i2c_dev_attr { | 48 | struct omap_i2c_dev_attr { |
48 | u8 fifo_depth; | 49 | u8 fifo_depth; |
49 | u8 flags; | 50 | u32 flags; |
50 | }; | 51 | }; |
51 | 52 | ||
52 | void __init omap1_i2c_mux_pins(int bus_id); | 53 | void __init omap1_i2c_mux_pins(int bus_id); |
53 | void __init omap2_i2c_mux_pins(int bus_id); | 54 | void __init omap2_i2c_mux_pins(int bus_id); |
54 | 55 | ||
56 | struct omap_hwmod; | ||
57 | int omap_i2c_reset(struct omap_hwmod *oh); | ||
58 | |||
55 | #endif /* __ASM__ARCH_OMAP_I2C_H */ | 59 | #endif /* __ASM__ARCH_OMAP_I2C_H */ |
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h index ce06ac6a9709..fafdfe3c8d4e 100644 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h | |||
@@ -566,6 +566,7 @@ void omap_hwmod_ocp_barrier(struct omap_hwmod *oh); | |||
566 | 566 | ||
567 | void omap_hwmod_write(u32 v, struct omap_hwmod *oh, u16 reg_offs); | 567 | void omap_hwmod_write(u32 v, struct omap_hwmod *oh, u16 reg_offs); |
568 | u32 omap_hwmod_read(struct omap_hwmod *oh, u16 reg_offs); | 568 | u32 omap_hwmod_read(struct omap_hwmod *oh, u16 reg_offs); |
569 | int omap_hwmod_softreset(struct omap_hwmod *oh); | ||
569 | 570 | ||
570 | int omap_hwmod_count_resources(struct omap_hwmod *oh); | 571 | int omap_hwmod_count_resources(struct omap_hwmod *oh); |
571 | int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res); | 572 | int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res); |
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c index 83a37c54342f..c60737c49a32 100644 --- a/arch/arm/plat-omap/iovmm.c +++ b/arch/arm/plat-omap/iovmm.c | |||
@@ -72,7 +72,7 @@ static size_t sgtable_len(const struct sg_table *sgt) | |||
72 | for_each_sg(sgt->sgl, sg, sgt->nents, i) { | 72 | for_each_sg(sgt->sgl, sg, sgt->nents, i) { |
73 | size_t bytes; | 73 | size_t bytes; |
74 | 74 | ||
75 | bytes = sg_dma_len(sg); | 75 | bytes = sg->length; |
76 | 76 | ||
77 | if (!iopgsz_ok(bytes)) { | 77 | if (!iopgsz_ok(bytes)) { |
78 | pr_err("%s: sg[%d] not iommu pagesize(%x)\n", | 78 | pr_err("%s: sg[%d] not iommu pagesize(%x)\n", |
@@ -198,7 +198,7 @@ static void *vmap_sg(const struct sg_table *sgt) | |||
198 | int err; | 198 | int err; |
199 | 199 | ||
200 | pa = sg_phys(sg); | 200 | pa = sg_phys(sg); |
201 | bytes = sg_dma_len(sg); | 201 | bytes = sg->length; |
202 | 202 | ||
203 | BUG_ON(bytes != PAGE_SIZE); | 203 | BUG_ON(bytes != PAGE_SIZE); |
204 | 204 | ||
@@ -476,7 +476,7 @@ static int map_iovm_area(struct iommu *obj, struct iovm_struct *new, | |||
476 | struct iotlb_entry e; | 476 | struct iotlb_entry e; |
477 | 477 | ||
478 | pa = sg_phys(sg); | 478 | pa = sg_phys(sg); |
479 | bytes = sg_dma_len(sg); | 479 | bytes = sg->length; |
480 | 480 | ||
481 | flags &= ~IOVMF_PGSZ_MASK; | 481 | flags &= ~IOVMF_PGSZ_MASK; |
482 | pgsz = bytes_to_iopgsz(bytes); | 482 | pgsz = bytes_to_iopgsz(bytes); |
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index 3c1fbdc92468..6c62af108710 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
@@ -966,6 +966,33 @@ void omap_mcbsp_stop(unsigned int id, int tx, int rx) | |||
966 | } | 966 | } |
967 | EXPORT_SYMBOL(omap_mcbsp_stop); | 967 | EXPORT_SYMBOL(omap_mcbsp_stop); |
968 | 968 | ||
969 | /* | ||
970 | * The following functions are only required on an OMAP1-only build. | ||
971 | * mach-omap2/mcbsp.c contains the real functions | ||
972 | */ | ||
973 | #ifndef CONFIG_ARCH_OMAP2PLUS | ||
974 | int omap2_mcbsp_set_clks_src(u8 id, u8 fck_src_id) | ||
975 | { | ||
976 | WARN(1, "%s: should never be called on an OMAP1-only kernel\n", | ||
977 | __func__); | ||
978 | return -EINVAL; | ||
979 | } | ||
980 | |||
981 | void omap2_mcbsp1_mux_clkr_src(u8 mux) | ||
982 | { | ||
983 | WARN(1, "%s: should never be called on an OMAP1-only kernel\n", | ||
984 | __func__); | ||
985 | return; | ||
986 | } | ||
987 | |||
988 | void omap2_mcbsp1_mux_fsr_src(u8 mux) | ||
989 | { | ||
990 | WARN(1, "%s: should never be called on an OMAP1-only kernel\n", | ||
991 | __func__); | ||
992 | return; | ||
993 | } | ||
994 | #endif | ||
995 | |||
969 | #ifdef CONFIG_ARCH_OMAP3 | 996 | #ifdef CONFIG_ARCH_OMAP3 |
970 | #define max_thres(m) (mcbsp->pdata->buffer_size) | 997 | #define max_thres(m) (mcbsp->pdata->buffer_size) |
971 | #define valid_threshold(m, val) ((val) <= max_thres(m)) | 998 | #define valid_threshold(m, val) ((val) <= max_thres(m)) |