From 33d6a3ec2d81736f8c2128b8afc961cdad62f126 Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Thu, 18 Oct 2012 10:36:11 +1100 Subject: [PATCH] --- yaml --- r: 334477 b: refs/heads/master c: 72523d8082df3d89bffe30cbc1356dbb45ab51ae h: refs/heads/master i: 334475: 99e2f5e7b9a22d7f0edd46b63a38a6c182d5d172 v: v3 --- [refs] | 2 +- trunk/Makefile | 4 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 12 ---- trunk/arch/ia64/include/uapi/asm/Kbuild | 2 - trunk/arch/ia64/include/uapi/asm/kvm_para.h | 0 trunk/arch/mips/include/asm/Kbuild | 1 - trunk/arch/mn10300/include/uapi/asm/setup.h | 4 -- trunk/arch/powerpc/perf/core-book3s.c | 2 +- trunk/arch/s390/include/uapi/asm/Kbuild | 2 - trunk/arch/s390/include/uapi/asm/kvm_para.h | 0 .../arch/sh/include/uapi/asm/hw_breakpoint.h | 4 -- .../arch/sparc/include/uapi/asm/sigcontext.h | 4 -- trunk/arch/tile/include/arch/Kbuild | 1 - trunk/arch/tile/include/asm/Kbuild | 3 + trunk/arch/tile/include/uapi/asm/Kbuild | 3 - trunk/drivers/of/address.c | 24 +++---- trunk/drivers/of/irq.c | 8 +-- trunk/drivers/of/platform.c | 2 +- trunk/include/Kbuild | 4 ++ trunk/include/asm-generic/Kbuild | 0 trunk/include/drm/Kbuild | 0 trunk/include/linux/Kbuild | 26 ++++++++ trunk/include/linux/byteorder/Kbuild | 0 trunk/include/linux/caif/Kbuild | 0 trunk/include/linux/can/Kbuild | 0 trunk/include/linux/isdn/Kbuild | 0 trunk/include/linux/mmc/Kbuild | 0 trunk/include/linux/netfilter/Kbuild | 1 + trunk/include/linux/netfilter/ipset/Kbuild | 0 trunk/include/linux/netfilter_arp/Kbuild | 0 trunk/include/linux/netfilter_bridge/Kbuild | 0 trunk/include/linux/netfilter_ipv4/Kbuild | 0 trunk/include/linux/netfilter_ipv6/Kbuild | 0 trunk/include/linux/nfsd/Kbuild | 0 trunk/include/linux/of.h | 7 --- trunk/include/linux/of_address.h | 4 +- trunk/include/linux/of_irq.h | 4 +- trunk/include/linux/spi/Kbuild | 0 trunk/include/linux/sunrpc/Kbuild | 0 trunk/include/linux/tc_act/Kbuild | 0 trunk/include/linux/tc_ematch/Kbuild | 0 trunk/include/linux/wimax/Kbuild | 0 trunk/include/mtd/Kbuild | 0 trunk/include/uapi/asm-generic/kvm_para.h | 4 -- trunk/include/uapi/linux/irqnr.h | 4 -- trunk/include/xen/Kbuild | 0 trunk/scripts/Makefile.asm-generic | 2 +- trunk/scripts/dtc/dtc.h | 44 ++++++++++--- trunk/security/apparmor/Makefile | 2 +- trunk/sound/pci/ac97/ac97_codec.c | 2 - trunk/sound/pci/emu10k1/emu10k1_main.c | 9 --- trunk/sound/pci/hda/hda_intel.c | 42 +++++-------- trunk/sound/pci/hda/patch_realtek.c | 4 +- trunk/sound/soc/Makefile | 5 +- trunk/sound/soc/codecs/da9055.c | 22 +------ trunk/sound/soc/codecs/twl6040.c | 8 +-- trunk/sound/soc/codecs/wm2200.c | 3 +- trunk/sound/soc/omap/ams-delta.c | 63 ++++++++++--------- trunk/sound/soc/omap/omap-abe-twl6040.c | 2 +- trunk/sound/soc/omap/omap-mcpdm.c | 9 ++- trunk/sound/soc/pxa/mmp-pcm.c | 2 +- trunk/sound/soc/samsung/bells.c | 4 +- trunk/sound/soc/sh/fsi.c | 15 +++-- trunk/sound/soc/soc-jack.c | 7 +-- 64 files changed, 172 insertions(+), 205 deletions(-) create mode 100644 trunk/arch/ia64/include/uapi/asm/kvm_para.h create mode 100644 trunk/arch/s390/include/uapi/asm/kvm_para.h create mode 100644 trunk/include/asm-generic/Kbuild create mode 100644 trunk/include/drm/Kbuild create mode 100644 trunk/include/linux/byteorder/Kbuild create mode 100644 trunk/include/linux/caif/Kbuild create mode 100644 trunk/include/linux/can/Kbuild create mode 100644 trunk/include/linux/isdn/Kbuild create mode 100644 trunk/include/linux/mmc/Kbuild create mode 100644 trunk/include/linux/netfilter/Kbuild create mode 100644 trunk/include/linux/netfilter/ipset/Kbuild create mode 100644 trunk/include/linux/netfilter_arp/Kbuild create mode 100644 trunk/include/linux/netfilter_bridge/Kbuild create mode 100644 trunk/include/linux/netfilter_ipv4/Kbuild create mode 100644 trunk/include/linux/netfilter_ipv6/Kbuild create mode 100644 trunk/include/linux/nfsd/Kbuild create mode 100644 trunk/include/linux/spi/Kbuild create mode 100644 trunk/include/linux/sunrpc/Kbuild create mode 100644 trunk/include/linux/tc_act/Kbuild create mode 100644 trunk/include/linux/tc_ematch/Kbuild create mode 100644 trunk/include/linux/wimax/Kbuild create mode 100644 trunk/include/mtd/Kbuild create mode 100644 trunk/include/xen/Kbuild diff --git a/[refs] b/[refs] index c8f2651202a9..aaa432bf0a7e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bab58350e565756df9e45daafe8301a309b35e7e +refs/heads/master: 72523d8082df3d89bffe30cbc1356dbb45ab51ae diff --git a/trunk/Makefile b/trunk/Makefile index 366d0ab0c5fe..5be2ee8c90e4 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -437,9 +437,7 @@ endif PHONY += asm-generic asm-generic: $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \ - src=asm obj=arch/$(SRCARCH)/include/generated/asm - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \ - src=uapi/asm obj=arch/$(SRCARCH)/include/generated/uapi/asm + obj=arch/$(SRCARCH)/include/generated/asm # To make sure we do not include .config for any of the *config targets # catch them early, and hand them over to scripts/kconfig/Makefile diff --git a/trunk/arch/arm/mach-omap1/board-ams-delta.c b/trunk/arch/arm/mach-omap1/board-ams-delta.c index e255164ff087..9518bf5996dc 100644 --- a/trunk/arch/arm/mach-omap1/board-ams-delta.c +++ b/trunk/arch/arm/mach-omap1/board-ams-delta.c @@ -444,28 +444,16 @@ static struct omap1_cam_platform_data ams_delta_camera_platform_data = { .lclk_khz_max = 1334, /* results in 5fps CIF, 10fps QCIF */ }; -static struct platform_device ams_delta_audio_device = { - .name = "ams-delta-audio", - .id = -1, -}; - -static struct platform_device cx20442_codec_device = { - .name = "cx20442-codec", - .id = -1, -}; - static struct platform_device *ams_delta_devices[] __initdata = { &latch1_gpio_device, &latch2_gpio_device, &ams_delta_kp_device, &ams_delta_camera_device, - &ams_delta_audio_device, }; static struct platform_device *late_devices[] __initdata = { &ams_delta_nand_device, &ams_delta_lcd_device, - &cx20442_codec_device, }; static void __init ams_delta_init(void) diff --git a/trunk/arch/ia64/include/uapi/asm/Kbuild b/trunk/arch/ia64/include/uapi/asm/Kbuild index 1b3f5eb5fcdb..30cafac93703 100644 --- a/trunk/arch/ia64/include/uapi/asm/Kbuild +++ b/trunk/arch/ia64/include/uapi/asm/Kbuild @@ -1,8 +1,6 @@ # UAPI Header export list include include/uapi/asm-generic/Kbuild.asm -generic-y += kvm_para.h - header-y += auxvec.h header-y += bitsperlong.h header-y += break.h diff --git a/trunk/arch/ia64/include/uapi/asm/kvm_para.h b/trunk/arch/ia64/include/uapi/asm/kvm_para.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/arch/mips/include/asm/Kbuild b/trunk/arch/mips/include/asm/Kbuild index 533053d12ced..e69de29bb2d1 100644 --- a/trunk/arch/mips/include/asm/Kbuild +++ b/trunk/arch/mips/include/asm/Kbuild @@ -1 +0,0 @@ -# MIPS headers diff --git a/trunk/arch/mn10300/include/uapi/asm/setup.h b/trunk/arch/mn10300/include/uapi/asm/setup.h index ae5704fa77ad..e69de29bb2d1 100644 --- a/trunk/arch/mn10300/include/uapi/asm/setup.h +++ b/trunk/arch/mn10300/include/uapi/asm/setup.h @@ -1,4 +0,0 @@ -/* - * There isn't anything here anymore, but the file must not be empty or patch - * will delete it. - */ diff --git a/trunk/arch/powerpc/perf/core-book3s.c b/trunk/arch/powerpc/perf/core-book3s.c index 0db88f501f91..aa2465e21f1a 100644 --- a/trunk/arch/powerpc/perf/core-book3s.c +++ b/trunk/arch/powerpc/perf/core-book3s.c @@ -1463,7 +1463,7 @@ static void perf_event_interrupt(struct pt_regs *regs) if (!event->hw.idx || is_limited_pmc(event->hw.idx)) continue; val = read_pmc(event->hw.idx); - if (pmc_overflow(val)) { + if ((int)val < 0) { /* event has overflowed */ found = 1; record_and_restart(event, val, regs); diff --git a/trunk/arch/s390/include/uapi/asm/Kbuild b/trunk/arch/s390/include/uapi/asm/Kbuild index 59b67ed423b4..7bf68fff7c5d 100644 --- a/trunk/arch/s390/include/uapi/asm/Kbuild +++ b/trunk/arch/s390/include/uapi/asm/Kbuild @@ -1,8 +1,6 @@ # UAPI Header export list include include/uapi/asm-generic/Kbuild.asm -generic-y += kvm_para.h - header-y += auxvec.h header-y += bitsperlong.h header-y += byteorder.h diff --git a/trunk/arch/s390/include/uapi/asm/kvm_para.h b/trunk/arch/s390/include/uapi/asm/kvm_para.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/arch/sh/include/uapi/asm/hw_breakpoint.h b/trunk/arch/sh/include/uapi/asm/hw_breakpoint.h index ae5704fa77ad..e69de29bb2d1 100644 --- a/trunk/arch/sh/include/uapi/asm/hw_breakpoint.h +++ b/trunk/arch/sh/include/uapi/asm/hw_breakpoint.h @@ -1,4 +0,0 @@ -/* - * There isn't anything here anymore, but the file must not be empty or patch - * will delete it. - */ diff --git a/trunk/arch/sparc/include/uapi/asm/sigcontext.h b/trunk/arch/sparc/include/uapi/asm/sigcontext.h index ae5704fa77ad..e69de29bb2d1 100644 --- a/trunk/arch/sparc/include/uapi/asm/sigcontext.h +++ b/trunk/arch/sparc/include/uapi/asm/sigcontext.h @@ -1,4 +0,0 @@ -/* - * There isn't anything here anymore, but the file must not be empty or patch - * will delete it. - */ diff --git a/trunk/arch/tile/include/arch/Kbuild b/trunk/arch/tile/include/arch/Kbuild index 3751c9fabcf2..e69de29bb2d1 100644 --- a/trunk/arch/tile/include/arch/Kbuild +++ b/trunk/arch/tile/include/arch/Kbuild @@ -1 +0,0 @@ -# Tile arch headers diff --git a/trunk/arch/tile/include/asm/Kbuild b/trunk/arch/tile/include/asm/Kbuild index 6948015e08a2..c68808a09da7 100644 --- a/trunk/arch/tile/include/asm/Kbuild +++ b/trunk/arch/tile/include/asm/Kbuild @@ -1,6 +1,8 @@ header-y += ../arch/ +header-y += ucontext.h + generic-y += bug.h generic-y += bugs.h generic-y += clkdev.h @@ -35,4 +37,5 @@ generic-y += statfs.h generic-y += termbits.h generic-y += termios.h generic-y += types.h +generic-y += ucontext.h generic-y += xor.h diff --git a/trunk/arch/tile/include/uapi/asm/Kbuild b/trunk/arch/tile/include/uapi/asm/Kbuild index c20db8e428bf..5c6915fd30b5 100644 --- a/trunk/arch/tile/include/uapi/asm/Kbuild +++ b/trunk/arch/tile/include/uapi/asm/Kbuild @@ -15,7 +15,4 @@ header-y += siginfo.h header-y += signal.h header-y += stat.h header-y += swab.h -header-y += ucontext.h header-y += unistd.h - -generic-y += ucontext.h diff --git a/trunk/drivers/of/address.c b/trunk/drivers/of/address.c index 0125524c08c4..72e496f1e9b0 100644 --- a/trunk/drivers/of/address.c +++ b/trunk/drivers/of/address.c @@ -37,9 +37,9 @@ struct of_bus { int (*match)(struct device_node *parent); void (*count_cells)(struct device_node *child, int *addrc, int *sizec); - u64 (*map)(__be32 *addr, const __be32 *range, + u64 (*map)(u32 *addr, const __be32 *range, int na, int ns, int pna); - int (*translate)(__be32 *addr, u64 offset, int na); + int (*translate)(u32 *addr, u64 offset, int na); unsigned int (*get_flags)(const __be32 *addr); }; @@ -56,7 +56,7 @@ static void of_bus_default_count_cells(struct device_node *dev, *sizec = of_n_size_cells(dev); } -static u64 of_bus_default_map(__be32 *addr, const __be32 *range, +static u64 of_bus_default_map(u32 *addr, const __be32 *range, int na, int ns, int pna) { u64 cp, s, da; @@ -82,7 +82,7 @@ static u64 of_bus_default_map(__be32 *addr, const __be32 *range, return da - cp; } -static int of_bus_default_translate(__be32 *addr, u64 offset, int na) +static int of_bus_default_translate(u32 *addr, u64 offset, int na) { u64 a = of_read_number(addr, na); memset(addr, 0, na * 4); @@ -138,7 +138,7 @@ static unsigned int of_bus_pci_get_flags(const __be32 *addr) return flags; } -static u64 of_bus_pci_map(__be32 *addr, const __be32 *range, int na, int ns, +static u64 of_bus_pci_map(u32 *addr, const __be32 *range, int na, int ns, int pna) { u64 cp, s, da; @@ -165,7 +165,7 @@ static u64 of_bus_pci_map(__be32 *addr, const __be32 *range, int na, int ns, return da - cp; } -static int of_bus_pci_translate(__be32 *addr, u64 offset, int na) +static int of_bus_pci_translate(u32 *addr, u64 offset, int na) { return of_bus_default_translate(addr + 1, offset, na - 1); } @@ -247,7 +247,7 @@ static void of_bus_isa_count_cells(struct device_node *child, *sizec = 1; } -static u64 of_bus_isa_map(__be32 *addr, const __be32 *range, int na, int ns, +static u64 of_bus_isa_map(u32 *addr, const __be32 *range, int na, int ns, int pna) { u64 cp, s, da; @@ -270,7 +270,7 @@ static u64 of_bus_isa_map(__be32 *addr, const __be32 *range, int na, int ns, return da - cp; } -static int of_bus_isa_translate(__be32 *addr, u64 offset, int na) +static int of_bus_isa_translate(u32 *addr, u64 offset, int na) { return of_bus_default_translate(addr + 1, offset, na - 1); } @@ -338,7 +338,7 @@ static struct of_bus *of_match_bus(struct device_node *np) } static int of_translate_one(struct device_node *parent, struct of_bus *bus, - struct of_bus *pbus, __be32 *addr, + struct of_bus *pbus, u32 *addr, int na, int ns, int pna, const char *rprop) { const __be32 *ranges; @@ -409,12 +409,12 @@ static int of_translate_one(struct device_node *parent, struct of_bus *bus, * that can be mapped to a cpu physical address). This is not really specified * that way, but this is traditionally the way IBM at least do things */ -static u64 __of_translate_address(struct device_node *dev, - const __be32 *in_addr, const char *rprop) +u64 __of_translate_address(struct device_node *dev, const __be32 *in_addr, + const char *rprop) { struct device_node *parent = NULL; struct of_bus *bus, *pbus; - __be32 addr[OF_MAX_ADDR_CELLS]; + u32 addr[OF_MAX_ADDR_CELLS]; int na, ns, pna, pns; u64 result = OF_BAD_ADDR; diff --git a/trunk/drivers/of/irq.c b/trunk/drivers/of/irq.c index a3c1c5aae6a9..a23ec7779997 100644 --- a/trunk/drivers/of/irq.c +++ b/trunk/drivers/of/irq.c @@ -192,13 +192,11 @@ int of_irq_map_raw(struct device_node *parent, const __be32 *intspec, /* Compare specifiers */ match = 1; for (i = 0; i < addrsize && match; ++i) { - __be32 mask = imask ? imask[i] - : cpu_to_be32(0xffffffffu); + u32 mask = imask ? imask[i] : 0xffffffffu; match = ((addr[i] ^ imap[i]) & mask) == 0; } for (; i < (addrsize + intsize) && match; ++i) { - __be32 mask = imask ? imask[i] - : cpu_to_be32(0xffffffffu); + u32 mask = imask ? imask[i] : 0xffffffffu; match = ((intspec[i-addrsize] ^ imap[i]) & mask) == 0; } @@ -467,7 +465,7 @@ void __init of_irq_init(const struct of_device_id *matches) pr_debug("of_irq_init: init %s @ %p, parent %p\n", match->compatible, desc->dev, desc->interrupt_parent); - irq_init_cb = (of_irq_init_cb_t)match->data; + irq_init_cb = match->data; ret = irq_init_cb(desc->dev, desc->interrupt_parent); if (ret) { kfree(desc); diff --git a/trunk/drivers/of/platform.c b/trunk/drivers/of/platform.c index b80891b43816..9bdeaf30b17d 100644 --- a/trunk/drivers/of/platform.c +++ b/trunk/drivers/of/platform.c @@ -76,7 +76,7 @@ void of_device_make_bus_id(struct device *dev) { static atomic_t bus_no_reg_magic; struct device_node *node = dev->of_node; - const __be32 *reg; + const u32 *reg; u64 addr; const __be32 *addrp; int magic; diff --git a/trunk/include/Kbuild b/trunk/include/Kbuild index 83256b64166a..8d226bfa2696 100644 --- a/trunk/include/Kbuild +++ b/trunk/include/Kbuild @@ -1,8 +1,12 @@ # Top-level Makefile calls into asm-$(ARCH) # List only non-arch directories below +header-y += asm-generic/ header-y += linux/ header-y += sound/ +header-y += mtd/ header-y += rdma/ header-y += video/ +header-y += drm/ +header-y += xen/ header-y += scsi/ diff --git a/trunk/include/asm-generic/Kbuild b/trunk/include/asm-generic/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/drm/Kbuild b/trunk/include/drm/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/Kbuild b/trunk/include/linux/Kbuild index 7fe2dae251e5..5b57367e28db 100644 --- a/trunk/include/linux/Kbuild +++ b/trunk/include/linux/Kbuild @@ -1,5 +1,31 @@ +header-y += byteorder/ +header-y += can/ +header-y += caif/ header-y += dvb/ header-y += hdlc/ header-y += hsi/ +header-y += isdn/ +header-y += mmc/ +header-y += nfsd/ header-y += raid/ +header-y += spi/ +header-y += sunrpc/ +header-y += tc_act/ +header-y += tc_ematch/ +header-y += netfilter/ +header-y += netfilter_arp/ +header-y += netfilter_bridge/ +header-y += netfilter_ipv4/ +header-y += netfilter_ipv6/ header-y += usb/ +header-y += wimax/ + +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \ + $(srctree)/arch/$(SRCARCH)/include/uapi/asm/a.out.h),) +endif +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \ + $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm.h),) +endif +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \ + $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),) +endif diff --git a/trunk/include/linux/byteorder/Kbuild b/trunk/include/linux/byteorder/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/caif/Kbuild b/trunk/include/linux/caif/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/can/Kbuild b/trunk/include/linux/can/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/isdn/Kbuild b/trunk/include/linux/isdn/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/mmc/Kbuild b/trunk/include/linux/mmc/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/netfilter/Kbuild b/trunk/include/linux/netfilter/Kbuild new file mode 100644 index 000000000000..b3322023e9a5 --- /dev/null +++ b/trunk/include/linux/netfilter/Kbuild @@ -0,0 +1 @@ +header-y += ipset/ diff --git a/trunk/include/linux/netfilter/ipset/Kbuild b/trunk/include/linux/netfilter/ipset/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/netfilter_arp/Kbuild b/trunk/include/linux/netfilter_arp/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/netfilter_bridge/Kbuild b/trunk/include/linux/netfilter_bridge/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/netfilter_ipv4/Kbuild b/trunk/include/linux/netfilter_ipv4/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/netfilter_ipv6/Kbuild b/trunk/include/linux/netfilter_ipv6/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/nfsd/Kbuild b/trunk/include/linux/nfsd/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/of.h b/trunk/include/linux/of.h index b4e50d56fc74..72843b72a2b2 100644 --- a/trunk/include/linux/of.h +++ b/trunk/include/linux/of.h @@ -331,13 +331,6 @@ static inline bool of_have_populated_dt(void) #define for_each_child_of_node(parent, child) \ while (0) -static inline struct device_node *of_get_child_by_name( - const struct device_node *node, - const char *name) -{ - return NULL; -} - static inline int of_get_child_count(const struct device_node *np) { return 0; diff --git a/trunk/include/linux/of_address.h b/trunk/include/linux/of_address.h index a1984dd037da..c3cdc1025c30 100644 --- a/trunk/include/linux/of_address.h +++ b/trunk/include/linux/of_address.h @@ -19,7 +19,7 @@ extern void __iomem *of_iomap(struct device_node *device, int index); * the address space flags too. The PCI version uses a BAR number * instead of an absolute index */ -extern const __be32 *of_get_address(struct device_node *dev, int index, +extern const u32 *of_get_address(struct device_node *dev, int index, u64 *size, unsigned int *flags); #ifndef pci_address_to_pio @@ -44,7 +44,7 @@ static inline void __iomem *of_iomap(struct device_node *device, int index) { return NULL; } -static inline const __be32 *of_get_address(struct device_node *dev, int index, +static inline const u32 *of_get_address(struct device_node *dev, int index, u64 *size, unsigned int *flags) { return NULL; diff --git a/trunk/include/linux/of_irq.h b/trunk/include/linux/of_irq.h index 535cecf1e02f..b8e241125201 100644 --- a/trunk/include/linux/of_irq.h +++ b/trunk/include/linux/of_irq.h @@ -58,8 +58,8 @@ static inline int of_irq_map_oldworld(struct device_node *device, int index, #endif /* CONFIG_PPC32 && CONFIG_PPC_PMAC */ -extern int of_irq_map_raw(struct device_node *parent, const __be32 *intspec, - u32 ointsize, const __be32 *addr, +extern int of_irq_map_raw(struct device_node *parent, const u32 *intspec, + u32 ointsize, const u32 *addr, struct of_irq *out_irq); extern int of_irq_map_one(struct device_node *device, int index, struct of_irq *out_irq); diff --git a/trunk/include/linux/spi/Kbuild b/trunk/include/linux/spi/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/sunrpc/Kbuild b/trunk/include/linux/sunrpc/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/tc_act/Kbuild b/trunk/include/linux/tc_act/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/tc_ematch/Kbuild b/trunk/include/linux/tc_ematch/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/linux/wimax/Kbuild b/trunk/include/linux/wimax/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/mtd/Kbuild b/trunk/include/mtd/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/include/uapi/asm-generic/kvm_para.h b/trunk/include/uapi/asm-generic/kvm_para.h index 486f0af73c39..e69de29bb2d1 100644 --- a/trunk/include/uapi/asm-generic/kvm_para.h +++ b/trunk/include/uapi/asm-generic/kvm_para.h @@ -1,4 +0,0 @@ -/* - * There isn't anything here, but the file must not be empty or patch - * will delete it. - */ diff --git a/trunk/include/uapi/linux/irqnr.h b/trunk/include/uapi/linux/irqnr.h index ae5704fa77ad..e69de29bb2d1 100644 --- a/trunk/include/uapi/linux/irqnr.h +++ b/trunk/include/uapi/linux/irqnr.h @@ -1,4 +0,0 @@ -/* - * There isn't anything here anymore, but the file must not be empty or patch - * will delete it. - */ diff --git a/trunk/include/xen/Kbuild b/trunk/include/xen/Kbuild new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/trunk/scripts/Makefile.asm-generic b/trunk/scripts/Makefile.asm-generic index d17e0ea911ed..40caf3c26cd5 100644 --- a/trunk/scripts/Makefile.asm-generic +++ b/trunk/scripts/Makefile.asm-generic @@ -5,7 +5,7 @@ # and for each file listed in this file with generic-y creates # a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/asm) -kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild +kbuild-file := $(srctree)/arch/$(SRCARCH)/include/asm/Kbuild -include $(kbuild-file) include scripts/Kbuild.include diff --git a/trunk/scripts/dtc/dtc.h b/trunk/scripts/dtc/dtc.h index 3e42a071070e..d501c8605f26 100644 --- a/trunk/scripts/dtc/dtc.h +++ b/trunk/scripts/dtc/dtc.h @@ -161,26 +161,50 @@ struct node { struct label *labels; }; +static inline struct label *for_each_label_next(struct label *l) +{ + do { + l = l->next; + } while (l && l->deleted); + + return l; +} + +#define for_each_label(l0, l) \ + for ((l) = (l0); (l); (l) = for_each_label_next(l)) + #define for_each_label_withdel(l0, l) \ for ((l) = (l0); (l); (l) = (l)->next) -#define for_each_label(l0, l) \ - for_each_label_withdel(l0, l) \ - if (!(l)->deleted) +static inline struct property *for_each_property_next(struct property *p) +{ + do { + p = p->next; + } while (p && p->deleted); + + return p; +} + +#define for_each_property(n, p) \ + for ((p) = (n)->proplist; (p); (p) = for_each_property_next(p)) #define for_each_property_withdel(n, p) \ for ((p) = (n)->proplist; (p); (p) = (p)->next) -#define for_each_property(n, p) \ - for_each_property_withdel(n, p) \ - if (!(p)->deleted) +static inline struct node *for_each_child_next(struct node *c) +{ + do { + c = c->next_sibling; + } while (c && c->deleted); -#define for_each_child_withdel(n, c) \ - for ((c) = (n)->children; (c); (c) = (c)->next_sibling) + return c; +} #define for_each_child(n, c) \ - for_each_child_withdel(n, c) \ - if (!(c)->deleted) + for ((c) = (n)->children; (c); (c) = for_each_child_next(c)) + +#define for_each_child_withdel(n, c) \ + for ((c) = (n)->children; (c); (c) = (c)->next_sibling) void add_label(struct label **labels, char *label); void delete_labels(struct label **labels); diff --git a/trunk/security/apparmor/Makefile b/trunk/security/apparmor/Makefile index 5706b74c857f..7b3021cebbea 100644 --- a/trunk/security/apparmor/Makefile +++ b/trunk/security/apparmor/Makefile @@ -57,7 +57,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \ $(obj)/capability.o : $(obj)/capability_names.h $(obj)/resource.o : $(obj)/rlim_names.h -$(obj)/capability_names.h : $(srctree)/include/uapi/linux/capability.h \ +$(obj)/capability_names.h : $(srctree)/include/linux/capability.h \ $(src)/Makefile $(call cmd,make-caps) $(obj)/rlim_names.h : $(srctree)/include/uapi/asm-generic/resource.h \ diff --git a/trunk/sound/pci/ac97/ac97_codec.c b/trunk/sound/pci/ac97/ac97_codec.c index 8b0f99688303..9473fca9681d 100644 --- a/trunk/sound/pci/ac97/ac97_codec.c +++ b/trunk/sound/pci/ac97/ac97_codec.c @@ -1271,8 +1271,6 @@ static int snd_ac97_cvol_new(struct snd_card *card, char *name, int reg, unsigne tmp.index = ac97->num; kctl = snd_ctl_new1(&tmp, ac97); } - if (!kctl) - return -ENOMEM; if (reg >= AC97_PHONE && reg <= AC97_PCM) set_tlv_db_scale(kctl, db_scale_5bit_12db_max); else diff --git a/trunk/sound/pci/emu10k1/emu10k1_main.c b/trunk/sound/pci/emu10k1/emu10k1_main.c index c21adb6ef1d5..bed4485f34f6 100644 --- a/trunk/sound/pci/emu10k1/emu10k1_main.c +++ b/trunk/sound/pci/emu10k1/emu10k1_main.c @@ -1416,15 +1416,6 @@ static struct snd_emu_chip_details emu_chip_details[] = { .ca0108_chip = 1, .spk71 = 1, .emu_model = EMU_MODEL_EMU1010B}, /* EMU 1010 new revision */ - /* Tested by Maxim Kachur 17th Oct 2012. */ - /* This is MAEM8986, 0202 is MAEM8980 */ - {.vendor = 0x1102, .device = 0x0008, .subsystem = 0x40071102, - .driver = "Audigy2", .name = "E-mu 1010 PCIe [MAEM8986]", - .id = "EMU1010", - .emu10k2_chip = 1, - .ca0108_chip = 1, - .spk71 = 1, - .emu_model = EMU_MODEL_EMU1010B}, /* EMU 1010 PCIe */ /* Tested by James@superbug.co.uk 8th July 2005. */ /* This is MAEM8810, 0202 is MAEM8820 */ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x40011102, diff --git a/trunk/sound/pci/hda/hda_intel.c b/trunk/sound/pci/hda/hda_intel.c index 72b085ae7d46..6833835a218b 100644 --- a/trunk/sound/pci/hda/hda_intel.c +++ b/trunk/sound/pci/hda/hda_intel.c @@ -501,7 +501,6 @@ struct azx { /* VGA-switcheroo setup */ unsigned int use_vga_switcheroo:1; - unsigned int vga_switcheroo_registered:1; unsigned int init_failed:1; /* delayed init failed */ unsigned int disabled:1; /* disabled by VGA-switcher */ @@ -2158,12 +2157,9 @@ static unsigned int azx_get_position(struct azx *chip, if (delay < 0) delay += azx_dev->bufsize; if (delay >= azx_dev->period_bytes) { - snd_printk(KERN_WARNING SFX - "Unstable LPIB (%d >= %d); " - "disabling LPIB delay counting\n", - delay, azx_dev->period_bytes); - delay = 0; - chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY; + snd_printdd("delay %d > period_bytes %d\n", + delay, azx_dev->period_bytes); + delay = 0; /* something is wrong */ } azx_dev->substream->runtime->delay = bytes_to_frames(azx_dev->substream->runtime, delay); @@ -2644,9 +2640,7 @@ static void azx_vs_set_state(struct pci_dev *pci, if (disabled) { azx_suspend(&pci->dev); chip->disabled = true; - if (snd_hda_lock_devices(chip->bus)) - snd_printk(KERN_WARNING SFX - "Cannot lock devices!\n"); + snd_hda_lock_devices(chip->bus); } else { snd_hda_unlock_devices(chip->bus); chip->disabled = false; @@ -2689,20 +2683,14 @@ static const struct vga_switcheroo_client_ops azx_vs_ops = { static int __devinit register_vga_switcheroo(struct azx *chip) { - int err; - if (!chip->use_vga_switcheroo) return 0; /* FIXME: currently only handling DIS controller * is there any machine with two switchable HDMI audio controllers? */ - err = vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, + return vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, VGA_SWITCHEROO_DIS, chip->bus != NULL); - if (err < 0) - return err; - chip->vga_switcheroo_registered = 1; - return 0; } #else #define init_vga_switcheroo(chip) /* NOP */ @@ -2724,8 +2712,7 @@ static int azx_free(struct azx *chip) if (use_vga_switcheroo(chip)) { if (chip->disabled && chip->bus) snd_hda_unlock_devices(chip->bus); - if (chip->vga_switcheroo_registered) - vga_switcheroo_unregister_client(chip->pci); + vga_switcheroo_unregister_client(chip->pci); } if (chip->initialized) { @@ -2826,6 +2813,8 @@ static struct snd_pci_quirk position_fix_list[] __devinitdata = { SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1043, 0x1ac3, "ASUS X53S", POS_FIX_POSBUF), + SND_PCI_QUIRK(0x1043, 0x1b43, "ASUS K53E", POS_FIX_POSBUF), SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB), SND_PCI_QUIRK(0x10de, 0xcb89, "Macbook Pro 7,1", POS_FIX_LPIB), SND_PCI_QUIRK(0x1297, 0x3166, "Shuttle", POS_FIX_LPIB), @@ -3073,6 +3062,14 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, } ok: + err = register_vga_switcheroo(chip); + if (err < 0) { + snd_printk(KERN_ERR SFX + "Error registering VGA-switcheroo client\n"); + azx_free(chip); + return err; + } + err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); if (err < 0) { snd_printk(KERN_ERR SFX "Error creating device [card]!\n"); @@ -3343,13 +3340,6 @@ static int __devinit azx_probe(struct pci_dev *pci, if (pci_dev_run_wake(pci)) pm_runtime_put_noidle(&pci->dev); - err = register_vga_switcheroo(chip); - if (err < 0) { - snd_printk(KERN_ERR SFX - "Error registering VGA-switcheroo client\n"); - goto out_free; - } - dev++; return 0; diff --git a/trunk/sound/pci/hda/patch_realtek.c b/trunk/sound/pci/hda/patch_realtek.c index 48d9d609f89b..8253b4eeb6a1 100644 --- a/trunk/sound/pci/hda/patch_realtek.c +++ b/trunk/sound/pci/hda/patch_realtek.c @@ -2598,10 +2598,8 @@ static const char *alc_get_line_out_pfx(struct alc_spec *spec, int ch, return "PCM"; break; } - if (ch >= ARRAY_SIZE(channel_name)) { - snd_BUG(); + if (snd_BUG_ON(ch >= ARRAY_SIZE(channel_name))) return "PCM"; - } return channel_name[ch]; } diff --git a/trunk/sound/soc/Makefile b/trunk/sound/soc/Makefile index 99f32f7c0692..bcbf1d00aa85 100644 --- a/trunk/sound/soc/Makefile +++ b/trunk/sound/soc/Makefile @@ -1,9 +1,8 @@ snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o snd-soc-core-objs += soc-pcm.o soc-compress.o soc-io.o -ifneq ($(CONFIG_SND_SOC_DMAENGINE_PCM),) -snd-soc-core-objs += soc-dmaengine-pcm.o -endif +snd-soc-dmaengine-pcm-objs := soc-dmaengine-pcm.o +obj-$(CONFIG_SND_SOC_DMAENGINE_PCM) += snd-soc-dmaengine-pcm.o obj-$(CONFIG_SND_SOC) += snd-soc-core.o obj-$(CONFIG_SND_SOC) += codecs/ diff --git a/trunk/sound/soc/codecs/da9055.c b/trunk/sound/soc/codecs/da9055.c index f379b085c392..185d8dd36399 100644 --- a/trunk/sound/soc/codecs/da9055.c +++ b/trunk/sound/soc/codecs/da9055.c @@ -178,12 +178,6 @@ #define DA9055_AIF_WORD_S24_LE (2 << 2) #define DA9055_AIF_WORD_S32_LE (3 << 2) -/* MIC_L_CTRL bit fields */ -#define DA9055_MIC_L_MUTE_EN (1 << 6) - -/* MIC_R_CTRL bit fields */ -#define DA9055_MIC_R_MUTE_EN (1 << 6) - /* MIXIN_L_CTRL bit fields */ #define DA9055_MIXIN_L_MIX_EN (1 << 3) @@ -482,7 +476,7 @@ static int da9055_put_alc_sw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - u8 reg_val, adc_left, adc_right, mic_left, mic_right; + u8 reg_val, adc_left, adc_right; int avg_left_data, avg_right_data, offset_l, offset_r; if (ucontrol->value.integer.value[0]) { @@ -491,16 +485,6 @@ static int da9055_put_alc_sw(struct snd_kcontrol *kcontrol, * offsets must be done first */ - /* Save current values from Mic control registers */ - mic_left = snd_soc_read(codec, DA9055_MIC_L_CTRL); - mic_right = snd_soc_read(codec, DA9055_MIC_R_CTRL); - - /* Mute Mic PGA Left and Right */ - snd_soc_update_bits(codec, DA9055_MIC_L_CTRL, - DA9055_MIC_L_MUTE_EN, DA9055_MIC_L_MUTE_EN); - snd_soc_update_bits(codec, DA9055_MIC_R_CTRL, - DA9055_MIC_R_MUTE_EN, DA9055_MIC_R_MUTE_EN); - /* Save current values from ADC control registers */ adc_left = snd_soc_read(codec, DA9055_ADC_L_CTRL); adc_right = snd_soc_read(codec, DA9055_ADC_R_CTRL); @@ -536,10 +520,6 @@ static int da9055_put_alc_sw(struct snd_kcontrol *kcontrol, /* Restore original values of ADC control registers */ snd_soc_write(codec, DA9055_ADC_L_CTRL, adc_left); snd_soc_write(codec, DA9055_ADC_R_CTRL, adc_right); - - /* Restore original values of Mic control registers */ - snd_soc_write(codec, DA9055_MIC_L_CTRL, mic_left); - snd_soc_write(codec, DA9055_MIC_R_CTRL, mic_right); } return snd_soc_put_volsw(kcontrol, ucontrol); diff --git a/trunk/sound/soc/codecs/twl6040.c b/trunk/sound/soc/codecs/twl6040.c index 00b85cc1b9a3..e8f97af75928 100644 --- a/trunk/sound/soc/codecs/twl6040.c +++ b/trunk/sound/soc/codecs/twl6040.c @@ -820,10 +820,10 @@ static const struct snd_soc_dapm_route intercon[] = { {"VIBRA DAC", NULL, "Vibra Playback"}, /* ADC -> Stream mapping */ - {"Legacy Capture" , NULL, "ADC Left"}, - {"Capture", NULL, "ADC Left"}, - {"Legacy Capture", NULL, "ADC Right"}, - {"Capture" , NULL, "ADC Right"}, + {"ADC Left", NULL, "Legacy Capture"}, + {"ADC Left", NULL, "Capture"}, + {"ADC Right", NULL, "Legacy Capture"}, + {"ADC Right", NULL, "Capture"}, /* Capture path */ {"Analog Left Capture Route", "Headset Mic", "HSMIC"}, diff --git a/trunk/sound/soc/codecs/wm2200.c b/trunk/sound/soc/codecs/wm2200.c index eab64a193989..efa93dbb0191 100644 --- a/trunk/sound/soc/codecs/wm2200.c +++ b/trunk/sound/soc/codecs/wm2200.c @@ -1028,7 +1028,7 @@ SOC_DOUBLE_R_TLV("OUT2 Digital Volume", WM2200_DAC_DIGITAL_VOLUME_2L, WM2200_DAC_DIGITAL_VOLUME_2R, WM2200_OUT2L_VOL_SHIFT, 0x9f, 0, digital_tlv), SOC_DOUBLE("OUT2 Switch", WM2200_PDM_1, WM2200_SPK1L_MUTE_SHIFT, - WM2200_SPK1R_MUTE_SHIFT, 1, 1), + WM2200_SPK1R_MUTE_SHIFT, 1, 0), }; WM2200_MIXER_ENUMS(OUT1L, WM2200_OUT1LMIX_INPUT_1_SOURCE); @@ -2091,7 +2091,6 @@ static __devinit int wm2200_i2c_probe(struct i2c_client *i2c, switch (wm2200->rev) { case 0: - case 1: ret = regmap_register_patch(wm2200->regmap, wm2200_reva_patch, ARRAY_SIZE(wm2200_reva_patch)); if (ret != 0) { diff --git a/trunk/sound/soc/omap/ams-delta.c b/trunk/sound/soc/omap/ams-delta.c index d8e96b2cd03e..dc0ee7626626 100644 --- a/trunk/sound/soc/omap/ams-delta.c +++ b/trunk/sound/soc/omap/ams-delta.c @@ -575,53 +575,56 @@ static struct snd_soc_card ams_delta_audio_card = { }; /* Module init/exit */ -static __devinit int ams_delta_probe(struct platform_device *pdev) +static struct platform_device *ams_delta_audio_platform_device; +static struct platform_device *cx20442_platform_device; + +static int __init ams_delta_module_init(void) { - struct snd_soc_card *card = &ams_delta_audio_card; int ret; - card->dev = &pdev->dev; + if (!(machine_is_ams_delta())) + return -ENODEV; - ret = snd_soc_register_card(card); - if (ret) { - dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); - card->dev = NULL; - return ret; - } + ams_delta_audio_platform_device = + platform_device_alloc("soc-audio", -1); + if (!ams_delta_audio_platform_device) + return -ENOMEM; + + platform_set_drvdata(ams_delta_audio_platform_device, + &ams_delta_audio_card); + + ret = platform_device_add(ams_delta_audio_platform_device); + if (ret) + goto err; + + /* + * Codec platform device could be registered from elsewhere (board?), + * but I do it here as it makes sense only if used with the card. + */ + cx20442_platform_device = + platform_device_register_simple("cx20442-codec", -1, NULL, 0); return 0; +err: + platform_device_put(ams_delta_audio_platform_device); + return ret; } +late_initcall(ams_delta_module_init); -static int __devexit ams_delta_remove(struct platform_device *pdev) +static void __exit ams_delta_module_exit(void) { - struct snd_soc_card *card = platform_get_drvdata(pdev); - if (tty_unregister_ldisc(N_V253) != 0) - dev_warn(&pdev->dev, + dev_warn(&ams_delta_audio_platform_device->dev, "failed to unregister V253 line discipline\n"); snd_soc_jack_free_gpios(&ams_delta_hook_switch, ARRAY_SIZE(ams_delta_hook_switch_gpios), ams_delta_hook_switch_gpios); - snd_soc_unregister_card(card); - card->dev = NULL; - return 0; + platform_device_unregister(cx20442_platform_device); + platform_device_unregister(ams_delta_audio_platform_device); } - -#define DRV_NAME "ams-delta-audio" - -static struct platform_driver ams_delta_driver = { - .driver = { - .name = DRV_NAME, - .owner = THIS_MODULE, - }, - .probe = ams_delta_probe, - .remove = __devexit_p(ams_delta_remove), -}; - -module_platform_driver(ams_delta_driver); +module_exit(ams_delta_module_exit); MODULE_AUTHOR("Janusz Krzysztofik "); MODULE_DESCRIPTION("ALSA SoC driver for Amstrad E3 (Delta) videophone"); MODULE_LICENSE("GPL"); -MODULE_ALIAS("platform:" DRV_NAME); diff --git a/trunk/sound/soc/omap/omap-abe-twl6040.c b/trunk/sound/soc/omap/omap-abe-twl6040.c index a57a4e68dcc6..4a73ef3ae12f 100644 --- a/trunk/sound/soc/omap/omap-abe-twl6040.c +++ b/trunk/sound/soc/omap/omap-abe-twl6040.c @@ -216,7 +216,7 @@ static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd) twl6040_disconnect_pin(dapm, pdata->has_hf, "Ext Spk"); twl6040_disconnect_pin(dapm, pdata->has_ep, "Earphone Spk"); twl6040_disconnect_pin(dapm, pdata->has_aux, "Line Out"); - twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vibrator"); + twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vinrator"); twl6040_disconnect_pin(dapm, pdata->has_hsmic, "Headset Mic"); twl6040_disconnect_pin(dapm, pdata->has_mainmic, "Main Handset Mic"); twl6040_disconnect_pin(dapm, pdata->has_submic, "Sub Handset Mic"); diff --git a/trunk/sound/soc/omap/omap-mcpdm.c b/trunk/sound/soc/omap/omap-mcpdm.c index 56965bb3275c..c02b001ee4b5 100644 --- a/trunk/sound/soc/omap/omap-mcpdm.c +++ b/trunk/sound/soc/omap/omap-mcpdm.c @@ -40,6 +40,7 @@ #include #include +#include #include "omap-mcpdm.h" #include "omap-pcm.h" @@ -259,9 +260,13 @@ static int omap_mcpdm_dai_startup(struct snd_pcm_substream *substream, mutex_lock(&mcpdm->mutex); if (!dai->active) { - u32 ctrl = omap_mcpdm_read(mcpdm, MCPDM_REG_CTRL); + /* Enable watch dog for ES above ES 1.0 to avoid saturation */ + if (omap_rev() != OMAP4430_REV_ES1_0) { + u32 ctrl = omap_mcpdm_read(mcpdm, MCPDM_REG_CTRL); - omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, ctrl | MCPDM_WD_EN); + omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, + ctrl | MCPDM_WD_EN); + } omap_mcpdm_open_streams(mcpdm); } mutex_unlock(&mcpdm->mutex); diff --git a/trunk/sound/soc/pxa/mmp-pcm.c b/trunk/sound/soc/pxa/mmp-pcm.c index e834faf859fd..73ac5463c9e4 100644 --- a/trunk/sound/soc/pxa/mmp-pcm.c +++ b/trunk/sound/soc/pxa/mmp-pcm.c @@ -15,13 +15,13 @@ #include #include #include -#include #include #include #include #include #include #include +#include #include struct mmp_dma_data { diff --git a/trunk/sound/soc/samsung/bells.c b/trunk/sound/soc/samsung/bells.c index b0d46d63d55e..5dc10dfc0d42 100644 --- a/trunk/sound/soc/samsung/bells.c +++ b/trunk/sound/soc/samsung/bells.c @@ -212,7 +212,7 @@ static struct snd_soc_dai_link bells_dai_wm5102[] = { { .name = "Sub", .stream_name = "Sub", - .cpu_dai_name = "wm5110-aif3", + .cpu_dai_name = "wm5102-aif3", .codec_dai_name = "wm9081-hifi", .codec_name = "wm9081.1-006c", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF @@ -247,7 +247,7 @@ static struct snd_soc_dai_link bells_dai_wm5110[] = { { .name = "Sub", .stream_name = "Sub", - .cpu_dai_name = "wm5110-aif3", + .cpu_dai_name = "wm5102-aif3", .codec_dai_name = "wm9081-hifi", .codec_name = "wm9081.1-006c", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF diff --git a/trunk/sound/soc/sh/fsi.c b/trunk/sound/soc/sh/fsi.c index 9d7f30774a44..5328ae5539f1 100644 --- a/trunk/sound/soc/sh/fsi.c +++ b/trunk/sound/soc/sh/fsi.c @@ -20,7 +20,6 @@ #include #include #include -#include #include #include @@ -224,7 +223,7 @@ struct fsi_stream { */ struct dma_chan *chan; struct sh_dmae_slave slave; /* see fsi_handler_init() */ - struct work_struct work; + struct tasklet_struct tasklet; dma_addr_t dma; }; @@ -1086,9 +1085,9 @@ static void fsi_dma_complete(void *data) snd_pcm_period_elapsed(io->substream); } -static void fsi_dma_do_work(struct work_struct *work) +static void fsi_dma_do_tasklet(unsigned long data) { - struct fsi_stream *io = container_of(work, struct fsi_stream, work); + struct fsi_stream *io = (struct fsi_stream *)data; struct fsi_priv *fsi = fsi_stream_to_priv(io); struct snd_soc_dai *dai; struct dma_async_tx_descriptor *desc; @@ -1130,7 +1129,7 @@ static void fsi_dma_do_work(struct work_struct *work) * FIXME * * In DMAEngine case, codec and FSI cannot be started simultaneously - * since FSI is using the scheduler work queue. + * since FSI is using tasklet. * Therefore, in capture case, probably FSI FIFO will have got * overflow error in this point. * in that case, DMA cannot start transfer until error was cleared. @@ -1154,7 +1153,7 @@ static bool fsi_dma_filter(struct dma_chan *chan, void *param) static int fsi_dma_transfer(struct fsi_priv *fsi, struct fsi_stream *io) { - schedule_work(&io->work); + tasklet_schedule(&io->tasklet); return 0; } @@ -1196,14 +1195,14 @@ static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io, struct dev return fsi_stream_probe(fsi, dev); } - INIT_WORK(&io->work, fsi_dma_do_work); + tasklet_init(&io->tasklet, fsi_dma_do_tasklet, (unsigned long)io); return 0; } static int fsi_dma_remove(struct fsi_priv *fsi, struct fsi_stream *io) { - cancel_work_sync(&io->work); + tasklet_kill(&io->tasklet); fsi_stream_stop(fsi, io); diff --git a/trunk/sound/soc/soc-jack.c b/trunk/sound/soc/soc-jack.c index 1ab5fe04bfcc..fa0fd8ddae90 100644 --- a/trunk/sound/soc/soc-jack.c +++ b/trunk/sound/soc/soc-jack.c @@ -22,7 +22,7 @@ /** * snd_soc_jack_new - Create a new jack - * @codec: ASoC codec + * @card: ASoC card * @id: an identifying string for this jack * @type: a bitmask of enum snd_jack_type values that can be detected by * this jack @@ -133,13 +133,12 @@ EXPORT_SYMBOL_GPL(snd_soc_jack_add_zones); /** * snd_soc_jack_get_type - Based on the mic bias value, this function returns - * the type of jack from the zones declared in the jack type + * the type of jack from the zones delcared in the jack type * - * @jack: ASoC jack * @micbias_voltage: mic bias voltage at adc channel when jack is plugged in * * Based on the mic bias value passed, this function helps identify - * the type of jack from the already declared jack zones + * the type of jack from the already delcared jack zones */ int snd_soc_jack_get_type(struct snd_soc_jack *jack, int micbias_voltage) {