···11111212Optional properties for main touchpad device:13131414-- linux,gpio-keymap: An array of up to 4 entries indicating the Linux1515- keycode generated by each GPIO. Linux keycodes are defined in1616- <dt-bindings/input/input.h>.1717-1814- linux,gpio-keymap: When enabled, the SPT_GPIOPWN_T19 object sends messages1915 on GPIO bit changes. An array of up to 8 entries can be provided2016 indicating the Linux keycode mapped to each bit of the status byte,
···1616- clocks: Must contain an entry for each entry in clock-names.1717- clock-names: Shall be "spiclk" for the transfer-clock, and "apb_pclk" for1818 the peripheral clock.1919+- #address-cells: should be 1.2020+- #size-cells: should be 0.2121+2222+Optional Properties:2323+1924- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,2025 Documentation/devicetree/bindings/dma/dma.txt2126- dma-names: DMA request names should include "tx" and "rx" if present.2222-- #address-cells: should be 1.2323-- #size-cells: should be 0.2727+24282529Example:2630
+1-1
MAINTAINERS
···6890689068916891PCI DRIVER FOR IMX668926892M: Richard Zhu <r65037@freescale.com>68936893-M: Shawn Guo <shawn.guo@freescale.com>68936893+M: Lucas Stach <l.stach@pengutronix.de>68946894L: linux-pci@vger.kernel.org68956895L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)68966896S: Maintained
···11#ifndef __ASMARM_TLS_H22#define __ASMARM_TLS_H3344+#include <linux/compiler.h>55+#include <asm/thread_info.h>66+47#ifdef __ASSEMBLY__58#include <asm/asm-offsets.h>69 .macro switch_tls_none, base, tp, tpuser, tmp1, tmp2···5350#endif54515552#ifndef __ASSEMBLY__5353+5454+static inline void set_tls(unsigned long val)5555+{5656+ struct thread_info *thread;5757+5858+ thread = current_thread_info();5959+6060+ thread->tp_value[0] = val;6161+6262+ /*6363+ * This code runs with preemption enabled and therefore must6464+ * be reentrant with respect to switch_tls.6565+ *6666+ * We need to ensure ordering between the shadow state and the6767+ * hardware state, so that we don't corrupt the hardware state6868+ * with a stale shadow state during context switch.6969+ *7070+ * If we're preempted here, switch_tls will load TPIDRURO from7171+ * thread_info upon resuming execution and the following mcr7272+ * is merely redundant.7373+ */7474+ barrier();7575+7676+ if (!tls_emu) {7777+ if (has_tls_reg) {7878+ asm("mcr p15, 0, %0, c13, c0, 3"7979+ : : "r" (val));8080+ } else {8181+ /*8282+ * User space must never try to access this8383+ * directly. Expect your app to break8484+ * eventually if you do so. The user helper8585+ * at 0xffff0fe0 must be used instead. (see8686+ * entry-armv.S for details)8787+ */8888+ *((unsigned int *)0xffff0ff0) = val;8989+ }9090+9191+ }9292+}9393+5694static inline unsigned long get_tpuser(void)5795{5896 unsigned long reg = 0;···1035910460 return reg;10561}6262+6363+static inline void set_tpuser(unsigned long val)6464+{6565+ /* Since TPIDRURW is fully context-switched (unlike TPIDRURO),6666+ * we need not update thread_info.6767+ */6868+ if (has_tls_reg && !tls_emu) {6969+ asm("mcr p15, 0, %0, c13, c0, 2"7070+ : : "r" (val));7171+ }7272+}7373+7474+static inline void flush_tls(void)7575+{7676+ set_tls(0);7777+ set_tpuser(0);7878+}7979+10680#endif10781#endif /* __ASMARM_TLS_H */
+39-9
arch/arm/include/asm/uaccess.h
···107107extern int __get_user_1(void *);108108extern int __get_user_2(void *);109109extern int __get_user_4(void *);110110-extern int __get_user_lo8(void *);110110+extern int __get_user_32t_8(void *);111111extern int __get_user_8(void *);112112+extern int __get_user_64t_1(void *);113113+extern int __get_user_64t_2(void *);114114+extern int __get_user_64t_4(void *);112115113116#define __GUP_CLOBBER_1 "lr", "cc"114117#ifdef CONFIG_CPU_USE_DOMAINS···120117#define __GUP_CLOBBER_2 "lr", "cc"121118#endif122119#define __GUP_CLOBBER_4 "lr", "cc"123123-#define __GUP_CLOBBER_lo8 "lr", "cc"120120+#define __GUP_CLOBBER_32t_8 "lr", "cc"124121#define __GUP_CLOBBER_8 "lr", "cc"125122126123#define __get_user_x(__r2,__p,__e,__l,__s) \···134131135132/* narrowing a double-word get into a single 32bit word register: */136133#ifdef __ARMEB__137137-#define __get_user_xb(__r2, __p, __e, __l, __s) \138138- __get_user_x(__r2, __p, __e, __l, lo8)134134+#define __get_user_x_32t(__r2, __p, __e, __l, __s) \135135+ __get_user_x(__r2, __p, __e, __l, 32t_8)139136#else140140-#define __get_user_xb __get_user_x137137+#define __get_user_x_32t __get_user_x141138#endif139139+140140+/*141141+ * storing result into proper least significant word of 64bit target var,142142+ * different only for big endian case where 64 bit __r2 lsw is r3:143143+ */144144+#ifdef __ARMEB__145145+#define __get_user_x_64t(__r2, __p, __e, __l, __s) \146146+ __asm__ __volatile__ ( \147147+ __asmeq("%0", "r0") __asmeq("%1", "r2") \148148+ __asmeq("%3", "r1") \149149+ "bl __get_user_64t_" #__s \150150+ : "=&r" (__e), "=r" (__r2) \151151+ : "0" (__p), "r" (__l) \152152+ : __GUP_CLOBBER_##__s)153153+#else154154+#define __get_user_x_64t __get_user_x155155+#endif156156+142157143158#define __get_user_check(x,p) \144159 ({ \···167146 register int __e asm("r0"); \168147 switch (sizeof(*(__p))) { \169148 case 1: \170170- __get_user_x(__r2, __p, __e, __l, 1); \149149+ if (sizeof((x)) >= 8) \150150+ __get_user_x_64t(__r2, __p, __e, __l, 1); \151151+ else \152152+ __get_user_x(__r2, __p, __e, __l, 1); \171153 break; \172154 case 2: \173173- __get_user_x(__r2, __p, __e, __l, 2); \155155+ if (sizeof((x)) >= 8) \156156+ __get_user_x_64t(__r2, __p, __e, __l, 2); \157157+ else \158158+ __get_user_x(__r2, __p, __e, __l, 2); \174159 break; \175160 case 4: \176176- __get_user_x(__r2, __p, __e, __l, 4); \161161+ if (sizeof((x)) >= 8) \162162+ __get_user_x_64t(__r2, __p, __e, __l, 4); \163163+ else \164164+ __get_user_x(__r2, __p, __e, __l, 4); \177165 break; \178166 case 8: \179167 if (sizeof((x)) < 8) \180180- __get_user_xb(__r2, __p, __e, __l, 4); \168168+ __get_user_x_32t(__r2, __p, __e, __l, 4); \181169 else \182170 __get_user_x(__r2, __p, __e, __l, 8); \183171 break; \
···142142 while (1) {143143 unsigned long temp;144144145145- /*146146- * Barrier required between accessing protected resource and147147- * releasing a lock for it. Legacy code might not have done148148- * this, and we cannot determine that this is not the case149149- * being emulated, so insert always.150150- */151151- smp_mb();152152-153145 if (type == TYPE_SWPB)154146 __user_swpb_asm(*data, address, res, temp);155147 else···154162 }155163156164 if (res == 0) {157157- /*158158- * Barrier also required between acquiring a lock for a159159- * protected resource and accessing the resource. Inserted for160160- * same reason as above.161161- */162162- smp_mb();163163-164165 if (type == TYPE_SWPB)165166 swpbcounter++;166167 else
+1-1
arch/arm/kernel/thumbee.c
···45454646 switch (cmd) {4747 case THREAD_NOTIFY_FLUSH:4848- thread->thumbee_state = 0;4848+ teehbr_write(0);4949 break;5050 case THREAD_NOTIFY_SWITCH:5151 current_thread_info()->thumbee_state = teehbr_read();
+1-16
arch/arm/kernel/traps.c
···581581#define NR(x) ((__ARM_NR_##x) - __ARM_NR_BASE)582582asmlinkage int arm_syscall(int no, struct pt_regs *regs)583583{584584- struct thread_info *thread = current_thread_info();585584 siginfo_t info;586585587586 if ((no >> 16) != (__ARM_NR_BASE>> 16))···631632 return regs->ARM_r0;632633633634 case NR(set_tls):634634- thread->tp_value[0] = regs->ARM_r0;635635- if (tls_emu)636636- return 0;637637- if (has_tls_reg) {638638- asm ("mcr p15, 0, %0, c13, c0, 3"639639- : : "r" (regs->ARM_r0));640640- } else {641641- /*642642- * User space must never try to access this directly.643643- * Expect your app to break eventually if you do so.644644- * The user helper at 0xffff0fe0 must be used instead.645645- * (see entry-armv.S for details)646646- */647647- *((unsigned int *)0xffff0ff0) = regs->ARM_r0;648648- }635635+ set_tls(regs->ARM_r0);649636 return 0;650637651638#ifdef CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG
···149149 memblock_reserve(__virt_to_phys(initrd_start), initrd_end - initrd_start);150150#endif151151152152- if (!efi_enabled(EFI_MEMMAP))153153- early_init_fdt_scan_reserved_mem();152152+ early_init_fdt_scan_reserved_mem();154153155154 /* 4GB maximum for 32-bit only capable devices */156155 if (IS_ENABLED(CONFIG_ZONE_DMA))
···3838 return;3939 /* Maybe, this machine supports legacy memory map. */40404141- if (!vga_default_device()) {4242- resource_size_t start, end;4343- int i;4444-4545- /* Does firmware framebuffer belong to us? */4646- for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {4747- if (!(pci_resource_flags(pdev, i) & IORESOURCE_MEM))4848- continue;4949-5050- start = pci_resource_start(pdev, i);5151- end = pci_resource_end(pdev, i);5252-5353- if (!start || !end)5454- continue;5555-5656- if (screen_info.lfb_base >= start &&5757- (screen_info.lfb_base + screen_info.lfb_size) < end)5858- vga_set_default_device(pdev);5959- }6060- }6161-6241 /* Is VGA routed to us? */6342 bus = pdev->bus;6443 while (bus) {···6283 pci_read_config_word(pdev, PCI_COMMAND, &config);6384 if (config & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) {6485 pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW;6565- dev_printk(KERN_DEBUG, &pdev->dev, "Boot video device\n");6666- vga_set_default_device(pdev);8686+ dev_printk(KERN_DEBUG, &pdev->dev, "Video device with shadowed ROM\n");6787 }6888 }6989}
+3
arch/mips/Kconfig
···546546 # select SYS_HAS_EARLY_PRINTK547547 select SYS_SUPPORTS_64BIT_KERNEL548548 select SYS_SUPPORTS_BIG_ENDIAN549549+ select MIPS_L1_CACHE_SHIFT_7549550 help550551 This is the SGI Indigo2 with R10000 processor. To compile a Linux551552 kernel that runs on these, say Y here.···20302029 bool "MIPS CMP framework support (DEPRECATED)"20312030 depends on SYS_SUPPORTS_MIPS_CMP20322031 select MIPS_GIC_IPI20322032+ select SMP20332033 select SYNC_R4K20342034+ select SYS_SUPPORTS_SMP20342035 select WEAK_ORDERING20352036 default n20362037 help
+10-1
arch/mips/Makefile
···113113cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))114114cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))115115116116-cflags-$(CONFIG_CPU_HAS_SMARTMIPS) += $(call cc-option,-msmartmips)116116+# For smartmips configurations, there are hundreds of warnings due to ISA overrides117117+# in assembly and header files. smartmips is only supported for MIPS32r1 onwards118118+# and there is no support for 64-bit. Various '.set mips2' or '.set mips3' or119119+# similar directives in the kernel will spam the build logs with the following warnings:120120+# Warning: the `smartmips' extension requires MIPS32 revision 1 or greater121121+# or122122+# Warning: the 64-bit MIPS architecture does not support the `smartmips' extension123123+# Pass -Wa,--no-warn to disable all assembler warnings until the kernel code has124124+# been fixed properly.125125+cflags-$(CONFIG_CPU_HAS_SMARTMIPS) += $(call cc-option,-msmartmips) -Wa,--no-warn117126cflags-$(CONFIG_CPU_MICROMIPS) += $(call cc-option,-mmicromips)118127119128cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \
···37373838/*3939 * This is used for calculating the real page sizes4040- * for FTLB or VTLB + FTLB confugrations.4040+ * for FTLB or VTLB + FTLB configurations.4141 */4242static inline unsigned int page_size_ftlb(unsigned int mmuextdef)4343{···223223224224#endif225225226226-#define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(virt_to_phys(kaddr)))226226+#define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(virt_to_phys((void *) \227227+ (kaddr))))227228228229extern int __virt_addr_valid(const volatile void *kaddr);229230#define virt_addr_valid(kaddr) \
-5
arch/mips/include/asm/smp.h
···37373838#define NO_PROC_ID (-1)39394040-#define topology_physical_package_id(cpu) (cpu_data[cpu].package)4141-#define topology_core_id(cpu) (cpu_data[cpu].core)4242-#define topology_core_cpumask(cpu) (&cpu_core_map[cpu])4343-#define topology_thread_cpumask(cpu) (&cpu_sibling_map[cpu])4444-4540#define SMP_RESCHEDULE_YOURSELF 0x1 /* XXX braindead */4641#define SMP_CALL_FUNCTION 0x24742/* Octeon - Tell another core to flush its icache */
···793793 const struct sock_filter *inst;794794 unsigned int i, off, load_order, condt;795795 u32 k, b_off __maybe_unused;796796+ int tmp;796797797798 for (i = 0; i < prog->len; i++) {798799 u16 code;···13331332 case BPF_ANC | SKF_AD_PKTTYPE:13341333 ctx->flags |= SEEN_SKB;1335133413361336- off = pkt_type_offset();13351335+ tmp = off = pkt_type_offset();1337133613381338- if (off < 0)13371337+ if (tmp < 0)13391338 return -1;13401339 emit_load_byte(r_tmp, r_skb, off, ctx);13411340 /* Keep only the last 3 bits */
+11-7
arch/x86/boot/compressed/eboot.c
···10321032 int i;10331033 unsigned long ramdisk_addr;10341034 unsigned long ramdisk_size;10351035- unsigned long initrd_addr_max;1036103510371036 efi_early = c;10381037 sys_table = (efi_system_table_t *)(unsigned long)efi_early->table;···1094109510951096 memset(sdt, 0, sizeof(*sdt));1096109710971097- if (hdr->xloadflags & XLF_CAN_BE_LOADED_ABOVE_4G)10981098- initrd_addr_max = -1UL;10991099- else11001100- initrd_addr_max = hdr->initrd_addr_max;11011101-11021098 status = handle_cmdline_files(sys_table, image,11031099 (char *)(unsigned long)hdr->cmd_line_ptr,11041104- "initrd=", initrd_addr_max,11001100+ "initrd=", hdr->initrd_addr_max,11051101 &ramdisk_addr, &ramdisk_size);11021102+11031103+ if (status != EFI_SUCCESS &&11041104+ hdr->xloadflags & XLF_CAN_BE_LOADED_ABOVE_4G) {11051105+ efi_printk(sys_table, "Trying to load files to higher address\n");11061106+ status = handle_cmdline_files(sys_table, image,11071107+ (char *)(unsigned long)hdr->cmd_line_ptr,11081108+ "initrd=", -1UL,11091109+ &ramdisk_addr, &ramdisk_size);11101110+ }11111111+11061112 if (status != EFI_SUCCESS)11071113 goto fail2;11081114 hdr->ramdisk_image = ramdisk_addr & 0xffffffff;
+40-14
arch/x86/boot/compressed/head_32.S
···3030#include <asm/boot.h>3131#include <asm/asm-offsets.h>32323333+/*3434+ * Adjust our own GOT3535+ *3636+ * The relocation base must be in %ebx3737+ *3838+ * It is safe to call this macro more than once, because in some of the3939+ * code paths multiple invocations are inevitable, e.g. via the efi*4040+ * entry points.4141+ *4242+ * Relocation is only performed the first time.4343+ */4444+.macro FIXUP_GOT4545+ cmpb $1, got_fixed(%ebx)4646+ je 2f4747+4848+ leal _got(%ebx), %edx4949+ leal _egot(%ebx), %ecx5050+1:5151+ cmpl %ecx, %edx5252+ jae 2f5353+ addl %ebx, (%edx)5454+ addl $4, %edx5555+ jmp 1b5656+2:5757+ movb $1, got_fixed(%ebx)5858+.endm5959+3360 __HEAD3461ENTRY(startup_32)3562#ifdef CONFIG_EFI_STUB···8356 add %esi, 88(%eax)8457 pushl %eax85585959+ movl %esi, %ebx6060+ FIXUP_GOT6161+8662 call make_boot_params8763 cmpl $0, %eax8864 je fail···11181 leal efi32_config(%esi), %eax11282 add %esi, 88(%eax)11383 pushl %eax8484+8585+ movl %esi, %ebx8686+ FIXUP_GOT8787+114882:11589 call efi_main11690 cmpl $0, %eax···224190 shrl $2, %ecx225191 rep stosl226192227227-/*228228- * Adjust our own GOT229229- */230230- leal _got(%ebx), %edx231231- leal _egot(%ebx), %ecx232232-1:233233- cmpl %ecx, %edx234234- jae 2f235235- addl %ebx, (%edx)236236- addl $4, %edx237237- jmp 1b238238-2:239239-193193+ FIXUP_GOT240194/*241195 * Do the decompression, and jump to the new kernel..242196 */···247225 xorl %ebx, %ebx248226 jmp *%eax249227250250-#ifdef CONFIG_EFI_STUB251228 .data229229+/* Have we relocated the GOT? */230230+got_fixed:231231+ .byte 0232232+233233+#ifdef CONFIG_EFI_STUB252234efi32_config:253235 .fill 11,8,0254236 .long efi_call_phys
+41-15
arch/x86/boot/compressed/head_64.S
···3232#include <asm/processor-flags.h>3333#include <asm/asm-offsets.h>34343535+/*3636+ * Adjust our own GOT3737+ *3838+ * The relocation base must be in %rbx3939+ *4040+ * It is safe to call this macro more than once, because in some of the4141+ * code paths multiple invocations are inevitable, e.g. via the efi*4242+ * entry points.4343+ *4444+ * Relocation is only performed the first time.4545+ */4646+.macro FIXUP_GOT4747+ cmpb $1, got_fixed(%rip)4848+ je 2f4949+5050+ leaq _got(%rip), %rdx5151+ leaq _egot(%rip), %rcx5252+1:5353+ cmpq %rcx, %rdx5454+ jae 2f5555+ addq %rbx, (%rdx)5656+ addq $8, %rdx5757+ jmp 1b5858+2:5959+ movb $1, got_fixed(%rip)6060+.endm6161+3562 __HEAD3663 .code323764ENTRY(startup_32)···279252 subq $1b, %rbp280253281254 /*282282- * Relocate efi_config->call().255255+ * Relocate efi_config->call() and the GOT entries.283256 */284257 addq %rbp, efi64_config+88(%rip)258258+259259+ movq %rbp, %rbx260260+ FIXUP_GOT285261286262 movq %rax, %rdi287263 call make_boot_params···301271 subq $1b, %rbp302272303273 /*304304- * Relocate efi_config->call().274274+ * Relocate efi_config->call() and the GOT entries.305275 */306276 movq efi_config(%rip), %rax307277 addq %rbp, 88(%rax)278278+279279+ movq %rbp, %rbx280280+ FIXUP_GOT3082812:309282 movq efi_config(%rip), %rdi310283 call efi_main···418385 shrq $3, %rcx419386 rep stosq420387421421-/*422422- * Adjust our own GOT423423- */424424- leaq _got(%rip), %rdx425425- leaq _egot(%rip), %rcx426426-1:427427- cmpq %rcx, %rdx428428- jae 2f429429- addq %rbx, (%rdx)430430- addq $8, %rdx431431- jmp 1b432432-2:433433-388388+ FIXUP_GOT389389+434390/*435391 * Do the decompression, and jump to the new kernel..436392 */···458436 .quad 0x0080890000000000 /* TS descriptor */459437 .quad 0x0000000000000000 /* TS continued */460438gdt_end:439439+440440+/* Have we relocated the GOT? */441441+got_fixed:442442+ .byte 0461443462444#ifdef CONFIG_EFI_STUB463445efi_config:
+1
arch/x86/include/asm/io_apic.h
···239239static inline u32 mp_pin_to_gsi(int ioapic, int pin) { return UINT_MAX; }240240static inline int mp_map_gsi_to_irq(u32 gsi, unsigned int flags) { return gsi; }241241static inline void mp_unmap_irq(int irq) { }242242+static inline bool mp_should_keep_irq(struct device *dev) { return 1; }242243243244static inline int save_ioapic_entries(void)244245{
···3636 int index;3737 bool busy;3838 bool hwrng_register_done;3939+ bool hwrng_removed;3940};40414142···6867{6968 int ret;7069 struct virtrng_info *vi = (struct virtrng_info *)rng->priv;7070+7171+ if (vi->hwrng_removed)7272+ return -ENODEV;71737274 if (!vi->busy) {7375 vi->busy = true;···141137{142138 struct virtrng_info *vi = vdev->priv;143139140140+ vi->hwrng_removed = true;141141+ vi->data_avail = 0;142142+ complete(&vi->have_data);144143 vdev->config->reset(vdev);145144 vi->busy = false;146145 if (vi->hwrng_register_done)
+9-1
drivers/firmware/efi/libstub/fdt.c
···2222 unsigned long map_size, unsigned long desc_size,2323 u32 desc_ver)2424{2525- int node, prev;2525+ int node, prev, num_rsv;2626 int status;2727 u32 fdt_val32;2828 u64 fdt_val64;···72727373 prev = node;7474 }7575+7676+ /*7777+ * Delete all memory reserve map entries. When booting via UEFI,7878+ * kernel will use the UEFI memory map to find reserved regions.7979+ */8080+ num_rsv = fdt_num_mem_rsv(fdt);8181+ while (num_rsv-- > 0)8282+ fdt_del_mem_rsv(fdt, num_rsv);75837684 node = fdt_subnode_offset(fdt, 0, "chosen");7785 if (node < 0) {
···4646 bool dsm_detected;4747 bool optimus_detected;4848 acpi_handle dhandle;4949- acpi_handle other_handle;5049 acpi_handle rom_handle;5150} nouveau_dsm_priv;5251···221222 if (!dhandle)222223 return false;223224224224- if (!acpi_has_method(dhandle, "_DSM")) {225225- nouveau_dsm_priv.other_handle = dhandle;225225+ if (!acpi_has_method(dhandle, "_DSM"))226226 return false;227227- }227227+228228 if (acpi_check_dsm(dhandle, nouveau_dsm_muid, 0x00000102,229229 1 << NOUVEAU_DSM_POWER))230230 retval |= NOUVEAU_DSM_HAS_MUX;···299301 printk(KERN_INFO "VGA switcheroo: detected DSM switching method %s handle\n",300302 acpi_method_name);301303 nouveau_dsm_priv.dsm_detected = true;302302- /*303303- * On some systems hotplug events are generated for the device304304- * being switched off when _DSM is executed. They cause ACPI305305- * hotplug to trigger and attempt to remove the device from306306- * the system, which causes it to break down. Prevent that from307307- * happening by setting the no_hotplug flag for the involved308308- * ACPI device objects.309309- */310310- acpi_bus_no_hotplug(nouveau_dsm_priv.dhandle);311311- acpi_bus_no_hotplug(nouveau_dsm_priv.other_handle);312304 ret = true;313305 }314306
···489489{490490 int r;491491492492- /* Reset dma */493493- WREG32(SRBM_SOFT_RESET, SOFT_RESET_SDMA | SOFT_RESET_SDMA1);494494- RREG32(SRBM_SOFT_RESET);495495- udelay(50);496496- WREG32(SRBM_SOFT_RESET, 0);497497- RREG32(SRBM_SOFT_RESET);498498-499492 r = cik_sdma_load_microcode(rdev);500493 if (r)501494 return r;
+21-7
drivers/gpu/drm/radeon/kv_dpm.c
···3333#define KV_MINIMUM_ENGINE_CLOCK 8003434#define SMC_RAM_END 0x4000035353636+static int kv_enable_nb_dpm(struct radeon_device *rdev,3737+ bool enable);3638static void kv_init_graphics_levels(struct radeon_device *rdev);3739static int kv_calculate_ds_divider(struct radeon_device *rdev);3840static int kv_calculate_nbps_level_settings(struct radeon_device *rdev);···12971295{12981296 kv_smc_bapm_enable(rdev, false);1299129712981298+ if (rdev->family == CHIP_MULLINS)12991299+ kv_enable_nb_dpm(rdev, false);13001300+13001301 /* powerup blocks */13011302 kv_dpm_powergate_acp(rdev, false);13021303 kv_dpm_powergate_samu(rdev, false);···17741769 return ret;17751770}1776177117771777-static int kv_enable_nb_dpm(struct radeon_device *rdev)17721772+static int kv_enable_nb_dpm(struct radeon_device *rdev,17731773+ bool enable)17781774{17791775 struct kv_power_info *pi = kv_get_pi(rdev);17801776 int ret = 0;1781177717821782- if (pi->enable_nb_dpm && !pi->nb_dpm_enabled) {17831783- ret = kv_notify_message_to_smu(rdev, PPSMC_MSG_NBDPM_Enable);17841784- if (ret == 0)17851785- pi->nb_dpm_enabled = true;17781778+ if (enable) {17791779+ if (pi->enable_nb_dpm && !pi->nb_dpm_enabled) {17801780+ ret = kv_notify_message_to_smu(rdev, PPSMC_MSG_NBDPM_Enable);17811781+ if (ret == 0)17821782+ pi->nb_dpm_enabled = true;17831783+ }17841784+ } else {17851785+ if (pi->enable_nb_dpm && pi->nb_dpm_enabled) {17861786+ ret = kv_notify_message_to_smu(rdev, PPSMC_MSG_NBDPM_Disable);17871787+ if (ret == 0)17881788+ pi->nb_dpm_enabled = false;17891789+ }17861790 }1787179117881792 return ret;···18781864 }18791865 kv_update_sclk_t(rdev);18801866 if (rdev->family == CHIP_MULLINS)18811881- kv_enable_nb_dpm(rdev);18671867+ kv_enable_nb_dpm(rdev, true);18821868 }18831869 } else {18841870 if (pi->enable_dpm) {···19031889 }19041890 kv_update_acp_boot_level(rdev);19051891 kv_update_sclk_t(rdev);19061906- kv_enable_nb_dpm(rdev);18921892+ kv_enable_nb_dpm(rdev, true);19071893 }19081894 }19091895
-6
drivers/gpu/drm/radeon/ni_dma.c
···191191 u32 reg_offset, wb_offset;192192 int i, r;193193194194- /* Reset dma */195195- WREG32(SRBM_SOFT_RESET, SOFT_RESET_DMA | SOFT_RESET_DMA1);196196- RREG32(SRBM_SOFT_RESET);197197- udelay(50);198198- WREG32(SRBM_SOFT_RESET, 0);199199-200194 for (i = 0; i < 2; i++) {201195 if (i == 0) {202196 ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
+14-14
drivers/gpu/drm/radeon/r100.c
···821821 return RREG32(RADEON_CRTC2_CRNT_FRAME);822822}823823824824+/**825825+ * r100_ring_hdp_flush - flush Host Data Path via the ring buffer826826+ * rdev: radeon device structure827827+ * ring: ring buffer struct for emitting packets828828+ */829829+static void r100_ring_hdp_flush(struct radeon_device *rdev, struct radeon_ring *ring)830830+{831831+ radeon_ring_write(ring, PACKET0(RADEON_HOST_PATH_CNTL, 0));832832+ radeon_ring_write(ring, rdev->config.r100.hdp_cntl |833833+ RADEON_HDP_READ_BUFFER_INVALIDATE);834834+ radeon_ring_write(ring, PACKET0(RADEON_HOST_PATH_CNTL, 0));835835+ radeon_ring_write(ring, rdev->config.r100.hdp_cntl);836836+}837837+824838/* Who ever call radeon_fence_emit should call ring_lock and ask825839 * for enough space (today caller are ib schedule and buffer move) */826840void r100_fence_ring_emit(struct radeon_device *rdev,···10681054{10691055 WREG32(RADEON_CP_RB_WPTR, ring->wptr);10701056 (void)RREG32(RADEON_CP_RB_WPTR);10711071-}10721072-10731073-/**10741074- * r100_ring_hdp_flush - flush Host Data Path via the ring buffer10751075- * rdev: radeon device structure10761076- * ring: ring buffer struct for emitting packets10771077- */10781078-void r100_ring_hdp_flush(struct radeon_device *rdev, struct radeon_ring *ring)10791079-{10801080- radeon_ring_write(ring, PACKET0(RADEON_HOST_PATH_CNTL, 0));10811081- radeon_ring_write(ring, rdev->config.r100.hdp_cntl |10821082- RADEON_HDP_READ_BUFFER_INVALIDATE);10831083- radeon_ring_write(ring, PACKET0(RADEON_HOST_PATH_CNTL, 0));10841084- radeon_ring_write(ring, rdev->config.r100.hdp_cntl);10851057}1086105810871059static void r100_cp_load_microcode(struct radeon_device *rdev)
···3333 bool atpx_detected;3434 /* handle for device - and atpx */3535 acpi_handle dhandle;3636- acpi_handle other_handle;3736 struct radeon_atpx atpx;3837} radeon_atpx_priv;3938···452453 return false;453454454455 status = acpi_get_handle(dhandle, "ATPX", &atpx_handle);455455- if (ACPI_FAILURE(status)) {456456- radeon_atpx_priv.other_handle = dhandle;456456+ if (ACPI_FAILURE(status))457457 return false;458458- }458458+459459 radeon_atpx_priv.dhandle = dhandle;460460 radeon_atpx_priv.atpx.handle = atpx_handle;461461 return true;···538540 printk(KERN_INFO "VGA switcheroo: detected switching method %s handle\n",539541 acpi_method_name);540542 radeon_atpx_priv.atpx_detected = true;541541- /*542542- * On some systems hotplug events are generated for the device543543- * being switched off when ATPX is executed. They cause ACPI544544- * hotplug to trigger and attempt to remove the device from545545- * the system, which causes it to break down. Prevent that from546546- * happening by setting the no_hotplug flag for the involved547547- * ACPI device objects.548548- */549549- acpi_bus_no_hotplug(radeon_atpx_priv.dhandle);550550- acpi_bus_no_hotplug(radeon_atpx_priv.other_handle);551543 return true;552544 }553545 return false;
+9-2
drivers/gpu/drm/radeon/radeon_device.c
···1393139313941394 r = radeon_init(rdev);13951395 if (r)13961396- return r;13961396+ goto failed;1397139713981398 r = radeon_ib_ring_tests(rdev);13991399 if (r)···14131413 radeon_agp_disable(rdev);14141414 r = radeon_init(rdev);14151415 if (r)14161416- return r;14161416+ goto failed;14171417 }1418141814191419 if ((radeon_testing & 1)) {···14351435 DRM_INFO("radeon: acceleration disabled, skipping benchmarks\n");14361436 }14371437 return 0;14381438+14391439+failed:14401440+ if (runtime)14411441+ vga_switcheroo_fini_domain_pm_ops(rdev->dev);14421442+ return r;14381443}1439144414401445static void radeon_debugfs_remove_files(struct radeon_device *rdev);···14601455 radeon_bo_evict_vram(rdev);14611456 radeon_fini(rdev);14621457 vga_switcheroo_unregister_client(rdev->pdev);14581458+ if (rdev->flags & RADEON_IS_PX)14591459+ vga_switcheroo_fini_domain_pm_ops(rdev->dev);14631460 vga_client_register(rdev->pdev, NULL, NULL, NULL);14641461 if (rdev->rio_mem)14651462 pci_iounmap(rdev->pdev, rdev->rio_mem);
+2-1
drivers/gpu/drm/radeon/radeon_drv.c
···8383 * CIK: 1D and linear tiling modes contain valid PIPE_CONFIG8484 * 2.39.0 - Add INFO query for number of active CUs8585 * 2.40.0 - Add RADEON_GEM_GTT_WC/UC, flush HDP cache before submitting8686- * CS to GPU8686+ * CS to GPU on >= r6008787 */8888#define KMS_DRIVER_MAJOR 28989#define KMS_DRIVER_MINOR 40···440440 ret = radeon_suspend_kms(drm_dev, false, false);441441 pci_save_state(pdev);442442 pci_disable_device(pdev);443443+ pci_ignore_hotplug(pdev);443444 pci_set_power_state(pdev, PCI_D3cold);444445 drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;445446
···4141#include <linux/poll.h>4242#include <linux/miscdevice.h>4343#include <linux/slab.h>4444+#include <linux/screen_info.h>44454546#include <linux/uaccess.h>4647···113112 return 1;114113}115114116116-#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE117115/* this is only used a cookie - it should not be dereferenced */118116static struct pci_dev *vga_default;119119-#endif120117121118static void vga_arb_device_card_gone(struct pci_dev *pdev);122119···130131}131132132133/* Returns the default VGA device (vgacon's babe) */133133-#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE134134struct pci_dev *vga_default_device(void)135135{136136 return vga_default;···145147 pci_dev_put(vga_default);146148 vga_default = pci_dev_get(pdev);147149}148148-#endif149150150151static inline void vga_irq_set_state(struct vga_device *vgadev, bool state)151152{···580583 /* Deal with VGA default device. Use first enabled one581584 * by default if arch doesn't have it's own hook582585 */583583-#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE584586 if (vga_default == NULL &&585585- ((vgadev->owns & VGA_RSRC_LEGACY_MASK) == VGA_RSRC_LEGACY_MASK))587587+ ((vgadev->owns & VGA_RSRC_LEGACY_MASK) == VGA_RSRC_LEGACY_MASK)) {588588+ pr_info("vgaarb: setting as boot device: PCI:%s\n",589589+ pci_name(pdev));586590 vga_set_default_device(pdev);587587-#endif591591+ }588592589593 vga_arbiter_check_bridge_sharing(vgadev);590594···619621 goto bail;620622 }621623622622-#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE623624 if (vga_default == pdev)624625 vga_set_default_device(NULL);625625-#endif626626627627 if (vgadev->decodes & (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM))628628 vga_decode_count--;···13161320 pr_info("vgaarb: loaded\n");1317132113181322 list_for_each_entry(vgadev, &vga_list, list) {13231323+#if defined(CONFIG_X86) || defined(CONFIG_IA64)13241324+ /* Override I/O based detection done by vga_arbiter_add_pci_device()13251325+ * as it may take the wrong device (e.g. on Apple system under EFI).13261326+ *13271327+ * Select the device owning the boot framebuffer if there is one.13281328+ */13291329+ resource_size_t start, end;13301330+ int i;13311331+13321332+ /* Does firmware framebuffer belong to us? */13331333+ for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {13341334+ if (!(pci_resource_flags(vgadev->pdev, i) & IORESOURCE_MEM))13351335+ continue;13361336+13371337+ start = pci_resource_start(vgadev->pdev, i);13381338+ end = pci_resource_end(vgadev->pdev, i);13391339+13401340+ if (!start || !end)13411341+ continue;13421342+13431343+ if (screen_info.lfb_base < start ||13441344+ (screen_info.lfb_base + screen_info.lfb_size) >= end)13451345+ continue;13461346+ if (!vga_default_device())13471347+ pr_info("vgaarb: setting as boot device: PCI:%s\n",13481348+ pci_name(vgadev->pdev));13491349+ else if (vgadev->pdev != vga_default_device())13501350+ pr_info("vgaarb: overriding boot device: PCI:%s\n",13511351+ pci_name(vgadev->pdev));13521352+ vga_set_default_device(vgadev->pdev);13531353+ }13541354+#endif13191355 if (vgadev->bridge_has_one_vga)13201356 pr_info("vgaarb: bridge control possible %s\n", pci_name(vgadev->pdev));13211357 else
+1-1
drivers/iio/accel/bma180.c
···748748 data->trig->dev.parent = &client->dev;749749 data->trig->ops = &bma180_trigger_ops;750750 iio_trigger_set_drvdata(data->trig, indio_dev);751751- indio_dev->trig = data->trig;751751+ indio_dev->trig = iio_trigger_get(trig);752752753753 ret = iio_trigger_register(data->trig);754754 if (ret)
···135135 ret = iio_trigger_register(st->trig);136136 if (ret)137137 goto error_free_irq;138138- indio_dev->trig = st->trig;138138+ indio_dev->trig = iio_trigger_get(st->trig);139139140140 return 0;141141
+1-1
drivers/iio/inkern.c
···178178 index = of_property_match_string(np, "io-channel-names",179179 name);180180 chan = of_iio_channel_get(np, index);181181- if (!IS_ERR(chan))181181+ if (!IS_ERR(chan) || PTR_ERR(chan) == -EPROBE_DEFER)182182 break;183183 else if (name && index >= 0) {184184 pr_err("ERROR: could not get IIO channel %s:%s(%i)\n",
···182182 depends on HAS_IOMEM183183 select I2C184184 select I2C_MUX185185- select SPI186185 default y187186 help188187 By default, a media driver auto-selects all possible ancillary
···314314 goto err;315315 }316316317317+ /* feed clock to RF tuner */318318+ switch (state->cfg.tuner) {319319+ case AF9033_TUNER_IT9135_38:320320+ case AF9033_TUNER_IT9135_51:321321+ case AF9033_TUNER_IT9135_52:322322+ case AF9033_TUNER_IT9135_60:323323+ case AF9033_TUNER_IT9135_61:324324+ case AF9033_TUNER_IT9135_62:325325+ ret = af9033_wr_reg(state, 0x80fba8, 0x00);326326+ if (ret < 0)327327+ goto err;328328+ }329329+317330 /* settings for TS interface */318331 if (state->cfg.ts_mode == AF9033_TS_MODE_USB) {319332 ret = af9033_wr_reg_mask(state, 0x80f9a5, 0x00, 0x01);
···1282128212831283 mutex_lock(&sensor->power_mutex);1284128412851285- /*12861286- * If the power count is modified from 0 to != 0 or from != 012871287- * to 0, update the power state.12881288- */12891289- if (!sensor->power_count == !on)12901290- goto out;12911291-12921292- if (on) {12851285+ if (on && !sensor->power_count) {12931286 /* Power on and perform initialisation. */12941287 ret = smiapp_power_on(sensor);12951288 if (ret < 0)12961289 goto out;12971297- } else {12901290+ } else if (!on && sensor->power_count == 1) {12981291 smiapp_power_off(sensor);12991292 }13001293···2565257225662573 this->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;25672574 this->sd.internal_ops = &smiapp_internal_ops;25682568- this->sd.owner = NULL;25752575+ this->sd.owner = THIS_MODULE;25692576 v4l2_set_subdevdata(&this->sd, client);2570257725712578 rval = media_entity_init(&this->sd.entity,
···49495050/* PCIe Port Logic registers (memory-mapped) */5151#define PL_OFFSET 0x7005252+#define PCIE_PL_PFLR (PL_OFFSET + 0x08)5353+#define PCIE_PL_PFLR_LINK_STATE_MASK (0x3f << 16)5454+#define PCIE_PL_PFLR_FORCE_LINK (1 << 15)5255#define PCIE_PHY_DEBUG_R0 (PL_OFFSET + 0x28)5356#define PCIE_PHY_DEBUG_R1 (PL_OFFSET + 0x2c)5457#define PCIE_PHY_DEBUG_R1_XMLH_LINK_IN_TRAINING (1 << 29)···217214static int imx6_pcie_assert_core_reset(struct pcie_port *pp)218215{219216 struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);217217+ u32 val, gpr1, gpr12;218218+219219+ /*220220+ * If the bootloader already enabled the link we need some special221221+ * handling to get the core back into a state where it is safe to222222+ * touch it for configuration. As there is no dedicated reset signal223223+ * wired up for MX6QDL, we need to manually force LTSSM into "detect"224224+ * state before completely disabling LTSSM, which is a prerequisite225225+ * for core configuration.226226+ *227227+ * If both LTSSM_ENABLE and REF_SSP_ENABLE are active we have a strong228228+ * indication that the bootloader activated the link.229229+ */230230+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1, &gpr1);231231+ regmap_read(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, &gpr12);232232+233233+ if ((gpr1 & IMX6Q_GPR1_PCIE_REF_CLK_EN) &&234234+ (gpr12 & IMX6Q_GPR12_PCIE_CTL_2)) {235235+ val = readl(pp->dbi_base + PCIE_PL_PFLR);236236+ val &= ~PCIE_PL_PFLR_LINK_STATE_MASK;237237+ val |= PCIE_PL_PFLR_FORCE_LINK;238238+ writel(val, pp->dbi_base + PCIE_PL_PFLR);239239+240240+ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,241241+ IMX6Q_GPR12_PCIE_CTL_2, 0 << 10);242242+ }220243221244 regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,222245 IMX6Q_GPR1_PCIE_TEST_PD, 1 << 18);···618589 return 0;619590}620591592592+static void imx6_pcie_shutdown(struct platform_device *pdev)593593+{594594+ struct imx6_pcie *imx6_pcie = platform_get_drvdata(pdev);595595+596596+ /* bring down link, so bootloader gets clean state in case of reboot */597597+ imx6_pcie_assert_core_reset(&imx6_pcie->pp);598598+}599599+621600static const struct of_device_id imx6_pcie_of_match[] = {622601 { .compatible = "fsl,imx6q-pcie", },623602 {},···638601 .owner = THIS_MODULE,639602 .of_match_table = imx6_pcie_of_match,640603 },604604+ .shutdown = imx6_pcie_shutdown,641605};642606643607/* Freescale PCIe driver does not allow module unload */
···4646 */4747 if (pci_is_pcie(dev))4848 return;4949- dev_info(&dev->dev, "using default PCI settings\n");5049 hpp = &pci_default_type0;5150 }5251···152153{153154 struct pci_dev *cdev;154155 struct hotplug_params hpp;155155- int ret;156156157157 if (!(dev->hdr_type == PCI_HEADER_TYPE_NORMAL ||158158 (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE &&···161163 pcie_bus_configure_settings(dev->bus);162164163165 memset(&hpp, 0, sizeof(hpp));164164- ret = pci_get_hp_params(dev, &hpp);165165- if (ret)166166- dev_warn(&dev->dev, "no hotplug settings from platform\n");166166+ pci_get_hp_params(dev, &hpp);167167168168 program_hpp_type2(dev, hpp.t2);169169 program_hpp_type1(dev, hpp.t1);
+2
drivers/phy/Kconfig
···214214config PHY_ST_SPEAR1310_MIPHY215215 tristate "ST SPEAR1310-MIPHY driver"216216 select GENERIC_PHY217217+ depends on MACH_SPEAR1310 || COMPILE_TEST217218 help218219 Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.219220220221config PHY_ST_SPEAR1340_MIPHY221222 tristate "ST SPEAR1340-MIPHY driver"222223 select GENERIC_PHY224224+ depends on MACH_SPEAR1340 || COMPILE_TEST223225 help224226 Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.225227
···917917 struct max8997_regulator_data *rdata;918918 unsigned int i, dvs_voltage_nr = 1, ret;919919920920- pmic_np = of_node_get(iodev->dev->of_node);920920+ pmic_np = iodev->dev->of_node;921921 if (!pmic_np) {922922 dev_err(&pdev->dev, "could not find pmic sub-node\n");923923 return -ENODEV;
-1
drivers/regulator/palmas-regulator.c
···14271427 u32 prop;14281428 int idx, ret;1429142914301430- node = of_node_get(node);14311430 regulators = of_get_child_by_name(node, "regulators");14321431 if (!regulators) {14331432 dev_info(dev, "regulator node not found\n");
+1-1
drivers/regulator/tps65910-regulator.c
···10141014 if (!pmic_plat_data)10151015 return NULL;1016101610171017- np = of_node_get(pdev->dev.parent->of_node);10171017+ np = pdev->dev.parent->of_node;10181018 regulators = of_get_child_by_name(np, "regulators");10191019 if (!regulators) {10201020 dev_err(&pdev->dev, "regulator node not found\n");
+10
drivers/scsi/libiscsi.c
···717717 return NULL;718718 }719719720720+ if (data_size > ISCSI_DEF_MAX_RECV_SEG_LEN) {721721+ iscsi_conn_printk(KERN_ERR, conn, "Invalid buffer len of %u for login task. Max len is %u\n", data_size, ISCSI_DEF_MAX_RECV_SEG_LEN);722722+ return NULL;723723+ }724724+720725 task = conn->login_task;721726 } else {722727 if (session->state != ISCSI_STATE_LOGGED_IN)723728 return NULL;729729+730730+ if (data_size != 0) {731731+ iscsi_conn_printk(KERN_ERR, conn, "Can not send data buffer of len %u for op 0x%x\n", data_size, opcode);732732+ return NULL;733733+ }724734725735 BUG_ON(conn->c_stage == ISCSI_CONN_INITIAL_STAGE);726736 BUG_ON(conn->c_stage == ISCSI_CONN_STOPPED);
+3-2
drivers/scsi/scsi_lib.c
···733733 } else {734734 unsigned long flags;735735736736+ if (bidi_bytes)737737+ scsi_release_bidi_buffers(cmd);738738+736739 spin_lock_irqsave(q->queue_lock, flags);737740 blk_finish_request(req, error);738741 spin_unlock_irqrestore(q->queue_lock, flags);739742740740- if (bidi_bytes)741741- scsi_release_bidi_buffers(cmd);742743 scsi_release_buffers(cmd);743744 scsi_next_command(cmd);744745 }
+25-14
drivers/spi/spi-davinci.c
···397397 struct spi_master *master = spi->master;398398 struct device_node *np = spi->dev.of_node;399399 bool internal_cs = true;400400- unsigned long flags = GPIOF_DIR_OUT;401400402401 dspi = spi_master_get_devdata(spi->master);403402 pdata = &dspi->pdata;404403405405- flags |= (spi->mode & SPI_CS_HIGH) ? GPIOF_INIT_LOW : GPIOF_INIT_HIGH;406406-407404 if (!(spi->mode & SPI_NO_CS)) {408405 if (np && (master->cs_gpios != NULL) && (spi->cs_gpio >= 0)) {409409- retval = gpio_request_one(spi->cs_gpio,410410- flags, dev_name(&spi->dev));406406+ retval = gpio_direction_output(407407+ spi->cs_gpio, !(spi->mode & SPI_CS_HIGH));411408 internal_cs = false;412409 } else if (pdata->chip_sel &&413410 spi->chip_select < pdata->num_chipselect &&414411 pdata->chip_sel[spi->chip_select] != SPI_INTERN_CS) {415412 spi->cs_gpio = pdata->chip_sel[spi->chip_select];416416- retval = gpio_request_one(spi->cs_gpio,417417- flags, dev_name(&spi->dev));413413+ retval = gpio_direction_output(414414+ spi->cs_gpio, !(spi->mode & SPI_CS_HIGH));418415 internal_cs = false;419416 }420417···434437 clear_io_bits(dspi->base + SPIGCR1, SPIGCR1_LOOPBACK_MASK);435438436439 return retval;437437-}438438-439439-static void davinci_spi_cleanup(struct spi_device *spi)440440-{441441- if (spi->cs_gpio >= 0)442442- gpio_free(spi->cs_gpio);443440}444441445442static int davinci_spi_check_error(struct davinci_spi *dspi, int int_status)···947956 master->num_chipselect = pdata->num_chipselect;948957 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(2, 16);949958 master->setup = davinci_spi_setup;950950- master->cleanup = davinci_spi_cleanup;951959952960 dspi->bitbang.chipselect = davinci_spi_chipselect;953961 dspi->bitbang.setup_transfer = davinci_spi_setup_transfer;···956966 dspi->bitbang.flags = SPI_NO_CS | SPI_LSB_FIRST | SPI_LOOP;957967 if (dspi->version == SPI_VERSION_2)958968 dspi->bitbang.flags |= SPI_READY;969969+970970+ if (pdev->dev.of_node) {971971+ int i;972972+973973+ for (i = 0; i < pdata->num_chipselect; i++) {974974+ int cs_gpio = of_get_named_gpio(pdev->dev.of_node,975975+ "cs-gpios", i);976976+977977+ if (cs_gpio == -EPROBE_DEFER) {978978+ ret = cs_gpio;979979+ goto free_clk;980980+ }981981+982982+ if (gpio_is_valid(cs_gpio)) {983983+ ret = devm_gpio_request(&pdev->dev, cs_gpio,984984+ dev_name(&pdev->dev));985985+ if (ret)986986+ goto free_clk;987987+ }988988+ }989989+ }959990960991 r = platform_get_resource(pdev, IORESOURCE_DMA, 0);961992 if (r)
···21362136 cs_gpio);21372137 else if (gpio_direction_output(cs_gpio, 1))21382138 dev_err(&adev->dev,21392139- "could set gpio %d as output\n",21392139+ "could not set gpio %d as output\n",21402140 cs_gpio);21412141 }21422142 }
+3-2
drivers/spi/spi-rockchip.c
···220220 do {221221 if (!(readl_relaxed(rs->regs + ROCKCHIP_SPI_SR) & SR_BUSY))222222 return;223223- } while (time_before(jiffies, timeout));223223+ } while (!time_after(jiffies, timeout));224224225225 dev_warn(rs->dev, "spi controller is in busy state!\n");226226}···529529 int ret = 0;530530 struct rockchip_spi *rs = spi_master_get_devdata(master);531531532532- WARN_ON((readl_relaxed(rs->regs + ROCKCHIP_SPI_SR) & SR_BUSY));532532+ WARN_ON(readl_relaxed(rs->regs + ROCKCHIP_SPI_SSIENR) &&533533+ (readl_relaxed(rs->regs + ROCKCHIP_SPI_SR) & SR_BUSY));533534534535 if (!xfer->tx_buf && !xfer->rx_buf) {535536 dev_err(rs->dev, "No buffer for transfer\n");
···965965 }966966967967 qh->exception = 1;968968- if (ehci->rh_state < EHCI_RH_RUNNING)969969- qh->qh_state = QH_STATE_IDLE;970968 switch (qh->qh_state) {971969 case QH_STATE_LINKED:972970 WARN_ON(!list_empty(&qh->qtd_list));
+32
drivers/usb/storage/unusual_devs.h
···101101 "PhotoSmart R707",102102 USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_CAPACITY),103103104104+UNUSUAL_DEV( 0x03f3, 0x0001, 0x0000, 0x9999,105105+ "Adaptec",106106+ "USBConnect 2000",107107+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,108108+ US_FL_SCM_MULT_TARG ),109109+104110/* Reported by Sebastian Kapfer <sebastian_kapfer@gmx.net>105111 * and Olaf Hering <olh@suse.de> (different bcd's, same vendor/product)106112 * for USB floppies that need the SINGLE_LUN enforcement.···11311125 USB_SC_DEVICE, USB_PR_DEVICE, NULL,11321126 US_FL_NOT_LOCKABLE),1133112711281128+UNUSUAL_DEV( 0x085a, 0x0026, 0x0100, 0x0133,11291129+ "Xircom",11301130+ "PortGear USB-SCSI (Mac USB Dock)",11311131+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,11321132+ US_FL_SCM_MULT_TARG ),11331133+11341134+UNUSUAL_DEV( 0x085a, 0x0028, 0x0100, 0x0133,11351135+ "Xircom",11361136+ "PortGear USB to SCSI Converter",11371137+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,11381138+ US_FL_SCM_MULT_TARG ),11391139+11341140/* Submitted by Jan De Luyck <lkml@kcore.org> */11351141UNUSUAL_DEV( 0x08bd, 0x1100, 0x0000, 0x0000,11361142 "CITIZEN",···19821964 USB_SC_DEVICE, USB_PR_DEVICE, NULL,19831965 US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ),1984196619671967+/* Entrega Technologies U1-SC25 (later Xircom PortGear PGSCSI)19681968+ * and Mac USB Dock USB-SCSI */19691969+UNUSUAL_DEV( 0x1645, 0x0007, 0x0100, 0x0133,19701970+ "Entrega Technologies",19711971+ "USB to SCSI Converter",19721972+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,19731973+ US_FL_SCM_MULT_TARG ),19741974+19851975/* Reported by Robert Schedel <r.schedel@yahoo.de>19861976 * Note: this is a 'super top' device like the above 14cd/6600 device */19871977UNUSUAL_DEV( 0x1652, 0x6600, 0x0201, 0x0201,···20111985 "PMP400",20121986 USB_SC_DEVICE, USB_PR_DEVICE, NULL,20131987 US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ),19881988+19891989+UNUSUAL_DEV( 0x1822, 0x0001, 0x0000, 0x9999,19901990+ "Ariston Technologies",19911991+ "iConnect USB to SCSI adapter",19921992+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,19931993+ US_FL_SCM_MULT_TARG ),2014199420151995/* Reported by Hans de Goede <hdegoede@redhat.com>20161996 * These Appotech controllers are found in Picture Frames, they provide a
+11-2
fs/btrfs/btrfs_inode.h
···234234 BTRFS_I(inode)->last_sub_trans <=235235 BTRFS_I(inode)->last_log_commit &&236236 BTRFS_I(inode)->last_sub_trans <=237237- BTRFS_I(inode)->root->last_log_commit)238238- return 1;237237+ BTRFS_I(inode)->root->last_log_commit) {238238+ /*239239+ * After a ranged fsync we might have left some extent maps240240+ * (that fall outside the fsync's range). So return false241241+ * here if the list isn't empty, to make sure btrfs_log_inode()242242+ * will be called and process those extent maps.243243+ */244244+ smp_mb();245245+ if (list_empty(&BTRFS_I(inode)->extent_tree.modified_extents))246246+ return 1;247247+ }239248 return 0;240249}241250
+2-12
fs/btrfs/tree-log.c
···40934093 }40944094 }4095409540964096- write_lock(&em_tree->lock);40974097- /*40984098- * If we're doing a ranged fsync and there are still modified extents40994099- * in the list, we must run on the next fsync call as it might cover41004100- * those extents (a full fsync or an fsync for other range).41014101- */41024102- if (list_empty(&em_tree->modified_extents)) {41034103- BTRFS_I(inode)->logged_trans = trans->transid;41044104- BTRFS_I(inode)->last_log_commit =41054105- BTRFS_I(inode)->last_sub_trans;41064106- }41074107- write_unlock(&em_tree->lock);40964096+ BTRFS_I(inode)->logged_trans = trans->transid;40974097+ BTRFS_I(inode)->last_log_commit = BTRFS_I(inode)->last_sub_trans;41084098out_unlock:41094099 if (unlikely(err))41104100 btrfs_put_logged_extents(&logged_list);
+6-7
fs/btrfs/volumes.c
···529529 */530530531531 /*532532- * As of now don't allow update to btrfs_fs_device through533533- * the btrfs dev scan cli, after FS has been mounted.532532+ * For now, we do allow update to btrfs_fs_device through the533533+ * btrfs dev scan cli after FS has been mounted. We're still534534+ * tracking a problem where systems fail mount by subvolume id535535+ * when we reject replacement on a mounted FS.534536 */535535- if (fs_devices->opened) {536536- return -EBUSY;537537- } else {537537+ if (!fs_devices->opened && found_transid < device->generation) {538538 /*539539 * That is if the FS is _not_ mounted and if you540540 * are here, that means there is more than one···542542 * with larger generation number or the last-in if543543 * generation are equal.544544 */545545- if (found_transid < device->generation)546546- return -EEXIST;545545+ return -EEXIST;547546 }548547549548 name = rcu_string_strdup(path, GFP_NOFS);
···837837 struct TCP_Server_Info *server = p;838838 unsigned int pdu_length;839839 char *buf = NULL;840840+ struct task_struct *task_to_wake = NULL;840841 struct mid_q_entry *mid_entry;841842842843 current->flags |= PF_MEMALLOC;···928927 if (server->smallbuf) /* no sense logging a debug message if NULL */929928 cifs_small_buf_release(server->smallbuf);930929930930+ task_to_wake = xchg(&server->tsk, NULL);931931 clean_demultiplex_info(server);932932+933933+ /* if server->tsk was NULL then wait for a signal before exiting */934934+ if (!task_to_wake) {935935+ set_current_state(TASK_INTERRUPTIBLE);936936+ while (!signal_pending(current)) {937937+ schedule();938938+ set_current_state(TASK_INTERRUPTIBLE);939939+ }940940+ set_current_state(TASK_RUNNING);941941+ }942942+932943 module_put_and_exit(0);933944}934945···20632050static void20642051cifs_put_tcp_session(struct TCP_Server_Info *server)20652052{20532053+ struct task_struct *task;20542054+20662055 spin_lock(&cifs_tcp_ses_lock);20672056 if (--server->srv_count > 0) {20682057 spin_unlock(&cifs_tcp_ses_lock);···20882073 kfree(server->session_key.response);20892074 server->session_key.response = NULL;20902075 server->session_key.len = 0;20762076+20772077+ task = xchg(&server->tsk, NULL);20782078+ if (task)20792079+ force_sig(SIGKILL, task);20912080}2092208120932082static struct TCP_Server_Info *
+9-3
fs/cifs/link.c
···213213 if (rc)214214 goto out;215215216216- rc = tcon->ses->server->ops->create_mf_symlink(xid, tcon, cifs_sb,217217- fromName, buf, &bytes_written);216216+ if (tcon->ses->server->ops->create_mf_symlink)217217+ rc = tcon->ses->server->ops->create_mf_symlink(xid, tcon,218218+ cifs_sb, fromName, buf, &bytes_written);219219+ else220220+ rc = -EOPNOTSUPP;221221+218222 if (rc)219223 goto out;220224···343339 if (rc)344340 return rc;345341346346- if (file_info.EndOfFile != cpu_to_le64(CIFS_MF_SYMLINK_FILE_SIZE))342342+ if (file_info.EndOfFile != cpu_to_le64(CIFS_MF_SYMLINK_FILE_SIZE)) {343343+ rc = -ENOENT;347344 /* it's not a symlink */348345 goto out;346346+ }349347350348 io_parms.netfid = fid.netfid;351349 io_parms.pid = current->tgid;
+16-4
fs/cifs/netmisc.c
···925925 /* BB what about the timezone? BB */926926927927 /* Subtract the NTFS time offset, then convert to 1s intervals. */928928- u64 t;928928+ s64 t = le64_to_cpu(ntutc) - NTFS_TIME_OFFSET;929929930930- t = le64_to_cpu(ntutc) - NTFS_TIME_OFFSET;931931- ts.tv_nsec = do_div(t, 10000000) * 100;932932- ts.tv_sec = t;930930+ /*931931+ * Unfortunately can not use normal 64 bit division on 32 bit arch, but932932+ * the alternative, do_div, does not work with negative numbers so have933933+ * to special case them934934+ */935935+ if (t < 0) {936936+ t = -t;937937+ ts.tv_nsec = (long)(do_div(t, 10000000) * 100);938938+ ts.tv_nsec = -ts.tv_nsec;939939+ ts.tv_sec = -t;940940+ } else {941941+ ts.tv_nsec = (long)do_div(t, 10000000) * 100;942942+ ts.tv_sec = t;943943+ }944944+933945 return ts;934946}935947
···262262 unsigned long gh_ip;263263};264264265265+/* Number of quota types we support */266266+#define GFS2_MAXQUOTAS 2267267+265268/* Resource group multi-block reservation, in order of appearance:266269267270 Step 1. Function prepares to write, allocates a mb, sets the size hint.···285282 u64 rs_inum; /* Inode number for reservation */286283287284 /* ancillary quota stuff */288288- struct gfs2_quota_data *rs_qa_qd[2 * MAXQUOTAS];289289- struct gfs2_holder rs_qa_qd_ghs[2 * MAXQUOTAS];285285+ struct gfs2_quota_data *rs_qa_qd[2 * GFS2_MAXQUOTAS];286286+ struct gfs2_holder rs_qa_qd_ghs[2 * GFS2_MAXQUOTAS];290287 unsigned int rs_qa_qd_num;291288};292289
+6-3
fs/gfs2/inode.c
···626626 if (!IS_ERR(inode)) {627627 d = d_splice_alias(inode, dentry);628628 error = PTR_ERR(d);629629- if (IS_ERR(d))629629+ if (IS_ERR(d)) {630630+ inode = ERR_CAST(d);630631 goto fail_gunlock;632632+ }631633 error = 0;632634 if (file) {633635 if (S_ISREG(inode->i_mode)) {···842840 int error;843841844842 inode = gfs2_lookupi(dir, &dentry->d_name, 0);845845- if (!inode)843843+ if (inode == NULL) {844844+ d_add(dentry, NULL);846845 return NULL;846846+ }847847 if (IS_ERR(inode))848848 return ERR_CAST(inode);849849···858854859855 d = d_splice_alias(inode, dentry);860856 if (IS_ERR(d)) {861861- iput(inode);862857 gfs2_glock_dq_uninit(&gh);863858 return d;864859 }
+10-10
fs/gfs2/super.c
···12941294 int val;1295129512961296 if (is_ancestor(root, sdp->sd_master_dir))12971297- seq_printf(s, ",meta");12971297+ seq_puts(s, ",meta");12981298 if (args->ar_lockproto[0])12991299 seq_printf(s, ",lockproto=%s", args->ar_lockproto);13001300 if (args->ar_locktable[0])···13021302 if (args->ar_hostdata[0])13031303 seq_printf(s, ",hostdata=%s", args->ar_hostdata);13041304 if (args->ar_spectator)13051305- seq_printf(s, ",spectator");13051305+ seq_puts(s, ",spectator");13061306 if (args->ar_localflocks)13071307- seq_printf(s, ",localflocks");13071307+ seq_puts(s, ",localflocks");13081308 if (args->ar_debug)13091309- seq_printf(s, ",debug");13091309+ seq_puts(s, ",debug");13101310 if (args->ar_posix_acl)13111311- seq_printf(s, ",acl");13111311+ seq_puts(s, ",acl");13121312 if (args->ar_quota != GFS2_QUOTA_DEFAULT) {13131313 char *state;13141314 switch (args->ar_quota) {···13281328 seq_printf(s, ",quota=%s", state);13291329 }13301330 if (args->ar_suiddir)13311331- seq_printf(s, ",suiddir");13311331+ seq_puts(s, ",suiddir");13321332 if (args->ar_data != GFS2_DATA_DEFAULT) {13331333 char *state;13341334 switch (args->ar_data) {···13451345 seq_printf(s, ",data=%s", state);13461346 }13471347 if (args->ar_discard)13481348- seq_printf(s, ",discard");13481348+ seq_puts(s, ",discard");13491349 val = sdp->sd_tune.gt_logd_secs;13501350 if (val != 30)13511351 seq_printf(s, ",commit=%d", val);···13761376 seq_printf(s, ",errors=%s", state);13771377 }13781378 if (test_bit(SDF_NOBARRIERS, &sdp->sd_flags))13791379- seq_printf(s, ",nobarrier");13791379+ seq_puts(s, ",nobarrier");13801380 if (test_bit(SDF_DEMOTE, &sdp->sd_flags))13811381- seq_printf(s, ",demote_interface_used");13811381+ seq_puts(s, ",demote_interface_used");13821382 if (args->ar_rgrplvb)13831383- seq_printf(s, ",rgrplvb");13831383+ seq_puts(s, ",rgrplvb");13841384 return 0;13851385}13861386
+18-21
fs/namei.c
···1674167416751675/*16761676 * Calculate the length and hash of the path component, and16771677- * fill in the qstr. return the "len" as the result.16771677+ * return the "hash_len" as the result.16781678 */16791679-static inline unsigned long hash_name(const char *name, struct qstr *res)16791679+static inline u64 hash_name(const char *name)16801680{16811681 unsigned long a, b, adata, bdata, mask, hash, len;16821682 const struct word_at_a_time constants = WORD_AT_A_TIME_CONSTANTS;1683168316841684- res->name = name;16851684 hash = a = 0;16861685 len = -sizeof(unsigned long);16871686 do {···1697169816981699 hash += a & zero_bytemask(mask);16991700 len += find_zero(mask);17001700- res->hash_len = hashlen_create(fold_hash(hash), len);17011701-17021702- return len;17011701+ return hashlen_create(fold_hash(hash), len);17031702}1704170317051704#else···17151718 * We know there's a real path component here of at least17161719 * one character.17171720 */17181718-static inline long hash_name(const char *name, struct qstr *res)17211721+static inline u64 hash_name(const char *name)17191722{17201723 unsigned long hash = init_name_hash();17211724 unsigned long len = 0, c;1722172517231723- res->name = name;17241726 c = (unsigned char)*name;17251727 do {17261728 len++;17271729 hash = partial_name_hash(c, hash);17281730 c = (unsigned char)name[len];17291731 } while (c && c != '/');17301730- res->hash_len = hashlen_create(end_name_hash(hash), len);17311731- return len;17321732+ return hashlen_create(end_name_hash(hash), len);17321733}1733173417341735#endif···1751175617521757 /* At this point we know we have a real path component. */17531758 for(;;) {17541754- struct qstr this;17551755- long len;17591759+ u64 hash_len;17561760 int type;1757176117581762 err = may_lookup(nd);17591763 if (err)17601764 break;1761176517621762- len = hash_name(name, &this);17661766+ hash_len = hash_name(name);1763176717641768 type = LAST_NORM;17651765- if (name[0] == '.') switch (len) {17691769+ if (name[0] == '.') switch (hashlen_len(hash_len)) {17661770 case 2:17671771 if (name[1] == '.') {17681772 type = LAST_DOTDOT;···17751781 struct dentry *parent = nd->path.dentry;17761782 nd->flags &= ~LOOKUP_JUMPED;17771783 if (unlikely(parent->d_flags & DCACHE_OP_HASH)) {17841784+ struct qstr this = { { .hash_len = hash_len }, .name = name };17781785 err = parent->d_op->d_hash(parent, &this);17791786 if (err < 0)17801787 break;17881788+ hash_len = this.hash_len;17891789+ name = this.name;17811790 }17821791 }1783179217841784- nd->last = this;17931793+ nd->last.hash_len = hash_len;17941794+ nd->last.name = name;17851795 nd->last_type = type;1786179617871787- if (!name[len])17971797+ name += hashlen_len(hash_len);17981798+ if (!*name)17881799 return 0;17891800 /*17901801 * If it wasn't NUL, we know it was '/'. Skip that17911802 * slash, and continue until no more slashes.17921803 */17931804 do {17941794- len++;17951795- } while (unlikely(name[len] == '/'));17961796- if (!name[len])18051805+ name++;18061806+ } while (unlikely(*name == '/'));18071807+ if (!*name)17971808 return 0;17981798-17991799- name += len;1800180918011810 err = walk_component(nd, &next, LOOKUP_FOLLOW);18021811 if (err < 0)
+20-18
fs/nfs/nfs4client.c
···482482483483 spin_lock(&nn->nfs_client_lock);484484 list_for_each_entry(pos, &nn->nfs_client_list, cl_share_link) {485485+486486+ if (pos->rpc_ops != new->rpc_ops)487487+ continue;488488+489489+ if (pos->cl_proto != new->cl_proto)490490+ continue;491491+492492+ if (pos->cl_minorversion != new->cl_minorversion)493493+ continue;494494+485495 /* If "pos" isn't marked ready, we can't trust the486496 * remaining fields in "pos" */487497 if (pos->cl_cons_state > NFS_CS_READY) {···509499 spin_lock(&nn->nfs_client_lock);510500 }511501 if (pos->cl_cons_state != NFS_CS_READY)512512- continue;513513-514514- if (pos->rpc_ops != new->rpc_ops)515515- continue;516516-517517- if (pos->cl_proto != new->cl_proto)518518- continue;519519-520520- if (pos->cl_minorversion != new->cl_minorversion)521502 continue;522503523504 if (pos->cl_clientid != new->cl_clientid)···623622624623 spin_lock(&nn->nfs_client_lock);625624 list_for_each_entry(pos, &nn->nfs_client_list, cl_share_link) {625625+626626+ if (pos->rpc_ops != new->rpc_ops)627627+ continue;628628+629629+ if (pos->cl_proto != new->cl_proto)630630+ continue;631631+632632+ if (pos->cl_minorversion != new->cl_minorversion)633633+ continue;634634+626635 /* If "pos" isn't marked ready, we can't trust the627636 * remaining fields in "pos", especially the client628637 * ID and serverowner fields. Wait for CREATE_SESSION···656645 status = -NFS4ERR_STALE_CLIENTID;657646 }658647 if (pos->cl_cons_state != NFS_CS_READY)659659- continue;660660-661661- if (pos->rpc_ops != new->rpc_ops)662662- continue;663663-664664- if (pos->cl_proto != new->cl_proto)665665- continue;666666-667667- if (pos->cl_minorversion != new->cl_minorversion)668648 continue;669649670650 if (!nfs4_match_clientids(pos, new))
+22-18
fs/nfs/nfs4proc.c
···22262226 ret = _nfs4_proc_open(opendata);22272227 if (ret != 0) {22282228 if (ret == -ENOENT) {22292229- d_drop(opendata->dentry);22302230- d_add(opendata->dentry, NULL);22312231- nfs_set_verifier(opendata->dentry,22292229+ dentry = opendata->dentry;22302230+ if (dentry->d_inode)22312231+ d_delete(dentry);22322232+ else if (d_unhashed(dentry))22332233+ d_add(dentry, NULL);22342234+22352235+ nfs_set_verifier(dentry,22322236 nfs_save_change_attribute(opendata->dir->d_inode));22332237 }22342238 goto out;···26182614 is_rdwr = test_bit(NFS_O_RDWR_STATE, &state->flags);26192615 is_rdonly = test_bit(NFS_O_RDONLY_STATE, &state->flags);26202616 is_wronly = test_bit(NFS_O_WRONLY_STATE, &state->flags);26212621- /* Calculate the current open share mode */26222622- calldata->arg.fmode = 0;26232623- if (is_rdonly || is_rdwr)26242624- calldata->arg.fmode |= FMODE_READ;26252625- if (is_wronly || is_rdwr)26262626- calldata->arg.fmode |= FMODE_WRITE;26272617 /* Calculate the change in open mode */26182618+ calldata->arg.fmode = 0;26282619 if (state->n_rdwr == 0) {26292629- if (state->n_rdonly == 0) {26302630- call_close |= is_rdonly || is_rdwr;26312631- calldata->arg.fmode &= ~FMODE_READ;26322632- }26332633- if (state->n_wronly == 0) {26342634- call_close |= is_wronly || is_rdwr;26352635- calldata->arg.fmode &= ~FMODE_WRITE;26362636- }26372637- }26202620+ if (state->n_rdonly == 0)26212621+ call_close |= is_rdonly;26222622+ else if (is_rdonly)26232623+ calldata->arg.fmode |= FMODE_READ;26242624+ if (state->n_wronly == 0)26252625+ call_close |= is_wronly;26262626+ else if (is_wronly)26272627+ calldata->arg.fmode |= FMODE_WRITE;26282628+ } else if (is_rdwr)26292629+ calldata->arg.fmode |= FMODE_READ|FMODE_WRITE;26302630+26312631+ if (calldata->arg.fmode == 0)26322632+ call_close |= is_rdwr;26332633+26382634 if (!nfs4_valid_open_stateid(state))26392635 call_close = 0;26402636 spin_unlock(&state->owner->so_lock);
···162162163163static inline size_t drbg_max_addtl(struct drbg_state *drbg)164164{165165+#if (__BITS_PER_LONG == 32)166166+ /*167167+ * SP800-90A allows smaller maximum numbers to be returned -- we168168+ * return SIZE_MAX - 1 to allow the verification of the enforcement169169+ * of this value in drbg_healthcheck_sanity.170170+ */171171+ return (SIZE_MAX - 1);172172+#else165173 return (1UL<<(drbg->core->max_addtllen));174174+#endif166175}167176168177static inline size_t drbg_max_requests(struct drbg_state *drbg)169178{179179+#if (__BITS_PER_LONG == 32)180180+ return SIZE_MAX;181181+#else170182 return (1UL<<(drbg->core->max_req));183183+#endif171184}172185173186/*
···303303 D3cold, not set for devices304304 powered on/off by the305305 corresponding bridge */306306+ unsigned int ignore_hotplug:1; /* Ignore hotplug events */306307 unsigned int d3_delay; /* D3->D0 transition time in ms */307308 unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */308309···10211020bool pci_dev_run_wake(struct pci_dev *dev);10221021bool pci_check_pme_status(struct pci_dev *dev);10231022void pci_pme_wakeup_bus(struct pci_bus *bus);10231023+10241024+static inline void pci_ignore_hotplug(struct pci_dev *dev)10251025+{10261026+ dev->ignore_hotplug = 1;10271027+}1024102810251029static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state,10261030 bool enable)
···6868 return;69697070 if (!shost_use_blk_mq(sdev->host) &&7171- blk_queue_tagged(sdev->request_queue))7171+ !blk_queue_tagged(sdev->request_queue))7272 blk_queue_init_tags(sdev->request_queue, depth,7373 sdev->host->bqt);7474
+6-6
init/do_mounts.c
···539539{540540 int is_floppy;541541542542+ if (root_delay) {543543+ printk(KERN_INFO "Waiting %d sec before mounting root device...\n",544544+ root_delay);545545+ ssleep(root_delay);546546+ }547547+542548 /*543549 * wait for the known devices to complete their probing544550 *···570564571565 if (initrd_load())572566 goto out;573573-574574- if (root_delay) {575575- pr_info("Waiting %d sec before mounting root device...\n",576576- root_delay);577577- ssleep(root_delay);578578- }579567580568 /* wait for any asynchronous scanning to complete */581569 if ((ROOT_DEV == 0) && root_wait) {
+10
kernel/events/core.c
···15241524 */15251525 if (ctx->is_active) {15261526 raw_spin_unlock_irq(&ctx->lock);15271527+ /*15281528+ * Reload the task pointer, it might have been changed by15291529+ * a concurrent perf_event_context_sched_out().15301530+ */15311531+ task = ctx->task;15271532 goto retry;15281533 }15291534···19721967 */19731968 if (ctx->is_active) {19741969 raw_spin_unlock_irq(&ctx->lock);19701970+ /*19711971+ * Reload the task pointer, it might have been changed by19721972+ * a concurrent perf_event_context_sched_out().19731973+ */19741974+ task = ctx->task;19751975 goto retry;19761976 }19771977
···44 * sound/soc/codecs/sta529.c -- spear ALSA Soc codec driver55 *66 * Copyright (C) 2012 ST Microelectronics77- * Rajeev Kumar <rajeev-dlh.kumar@st.com>77+ * Rajeev Kumar <rajeevkumar.linux@gmail.com>88 *99 * This file is licensed under the terms of the GNU General Public1010 * License version 2. This program is licensed "as is" without any···426426module_i2c_driver(sta529_i2c_driver);427427428428MODULE_DESCRIPTION("ASoC STA529 codec driver");429429-MODULE_AUTHOR("Rajeev Kumar <rajeev-dlh.kumar@st.com>");429429+MODULE_AUTHOR("Rajeev Kumar <rajeevkumar.linux@gmail.com>");430430MODULE_LICENSE("GPL");
···467467{468468 u32 fmt;469469 u32 tx_rotate = (word_length / 4) & 0x7;470470- u32 rx_rotate = (32 - word_length) / 4;471470 u32 mask = (1ULL << word_length) - 1;471471+ /*472472+ * For captured data we should not rotate, inversion and masking is473473+ * enoguh to get the data to the right position:474474+ * Format data from bus after reverse (XRBUF)475475+ * S16_LE: |LSB|MSB|xxx|xxx| |xxx|xxx|MSB|LSB|476476+ * S24_3LE: |LSB|DAT|MSB|xxx| |xxx|MSB|DAT|LSB|477477+ * S24_LE: |LSB|DAT|MSB|xxx| |xxx|MSB|DAT|LSB|478478+ * S32_LE: |LSB|DAT|DAT|MSB| |MSB|DAT|DAT|LSB|479479+ */480480+ u32 rx_rotate = 0;472481473482 /*474483 * if s BCLK-to-LRCLK ratio has been configured via the set_clkdiv()
+2-2
sound/soc/dwc/designware_i2s.c
···44 * sound/soc/dwc/designware_i2s.c55 *66 * Copyright (C) 2010 ST Microelectronics77- * Rajeev Kumar <rajeev-dlh.kumar@st.com>77+ * Rajeev Kumar <rajeevkumar.linux@gmail.com>88 *99 * This file is licensed under the terms of the GNU General Public1010 * License version 2. This program is licensed "as is" without any···455455456456module_platform_driver(dw_i2s_driver);457457458458-MODULE_AUTHOR("Rajeev Kumar <rajeev-dlh.kumar@st.com>");458458+MODULE_AUTHOR("Rajeev Kumar <rajeevkumar.linux@gmail.com>");459459MODULE_DESCRIPTION("DESIGNWARE I2S SoC Interface");460460MODULE_LICENSE("GPL");461461MODULE_ALIAS("platform:designware_i2s");
+7-6
sound/soc/rockchip/rockchip_i2s.c
···165165 struct rk_i2s_dev *i2s = to_info(cpu_dai);166166 unsigned int mask = 0, val = 0;167167168168- mask = I2S_CKR_MSS_SLAVE;168168+ mask = I2S_CKR_MSS_MASK;169169 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {170170 case SND_SOC_DAIFMT_CBS_CFS:171171- val = I2S_CKR_MSS_SLAVE;171171+ /* Set source clock in Master mode */172172+ val = I2S_CKR_MSS_MASTER;172173 break;173174 case SND_SOC_DAIFMT_CBM_CFM:174174- val = I2S_CKR_MSS_MASTER;175175+ val = I2S_CKR_MSS_SLAVE;175176 break;176177 default:177178 return -EINVAL;···362361 case I2S_XFER:363362 case I2S_CLR:364363 case I2S_RXDR:364364+ case I2S_FIFOLR:365365+ case I2S_INTSR:365366 return true;366367 default:367368 return false;···373370static bool rockchip_i2s_volatile_reg(struct device *dev, unsigned int reg)374371{375372 switch (reg) {376376- case I2S_FIFOLR:377373 case I2S_INTSR:374374+ case I2S_CLR:378375 return true;379376 default:380377 return false;···384381static bool rockchip_i2s_precious_reg(struct device *dev, unsigned int reg)385382{386383 switch (reg) {387387- case I2S_FIFOLR:388388- return true;389384 default:390385 return false;391386 }
+3-2
sound/soc/samsung/i2s.c
···462462 if (dir == SND_SOC_CLOCK_IN)463463 rfs = 0;464464465465- if ((rfs && other->rfs && (other->rfs != rfs)) ||465465+ if ((rfs && other && other->rfs && (other->rfs != rfs)) ||466466 (any_active(i2s) &&467467 (((dir == SND_SOC_CLOCK_IN)468468 && !(mod & MOD_CDCLKCON)) ||···762762 } else {763763 u32 mod = readl(i2s->addr + I2SMOD);764764 i2s->cdclk_out = !(mod & MOD_CDCLKCON);765765- other->cdclk_out = i2s->cdclk_out;765765+ if (other)766766+ other->cdclk_out = i2s->cdclk_out;766767 }767768 /* Reset any constraint on RFS and BFS */768769 i2s->rfs = 0;
+5-1
sound/soc/soc-compress.c
···101101102102 fe->dpcm[stream].runtime = fe_substream->runtime;103103104104- if (dpcm_path_get(fe, stream, &list) <= 0) {104104+ ret = dpcm_path_get(fe, stream, &list);105105+ if (ret < 0) {106106+ mutex_unlock(&fe->card->mutex);107107+ goto fe_err;108108+ } else if (ret == 0) {105109 dev_dbg(fe->dev, "ASoC: %s no valid %s route\n",106110 fe->dai_link->name, stream ? "capture" : "playback");107111 }
+5-1
sound/soc/soc-pcm.c
···23522352 mutex_lock_nested(&fe->card->mutex, SND_SOC_CARD_CLASS_RUNTIME);23532353 fe->dpcm[stream].runtime = fe_substream->runtime;2354235423552355- if (dpcm_path_get(fe, stream, &list) <= 0) {23552355+ ret = dpcm_path_get(fe, stream, &list);23562356+ if (ret < 0) {23572357+ mutex_unlock(&fe->card->mutex);23582358+ return ret;23592359+ } else if (ret == 0) {23562360 dev_dbg(fe->dev, "ASoC: %s no valid %s route\n",23572361 fe->dai_link->name, stream ? "capture" : "playback");23582362 }
+2-2
sound/soc/spear/spear_pcm.c
···44 * sound/soc/spear/spear_pcm.c55 *66 * Copyright (C) 2012 ST Microelectronics77- * Rajeev Kumar<rajeev-dlh.kumar@st.com>77+ * Rajeev Kumar<rajeevkumar.linux@gmail.com>88 *99 * This file is licensed under the terms of the GNU General Public1010 * License version 2. This program is licensed "as is" without any···5050}5151EXPORT_SYMBOL_GPL(devm_spear_pcm_platform_register);52525353-MODULE_AUTHOR("Rajeev Kumar <rajeev-dlh.kumar@st.com>");5353+MODULE_AUTHOR("Rajeev Kumar <rajeevkumar.linux@gmail.com>");5454MODULE_DESCRIPTION("SPEAr PCM DMA module");5555MODULE_LICENSE("GPL");