···670670 typeof(x) ret; \671671 ret = calc_ret(x); \672672 (ret); \673673-)}673673+})674674675675ret is a common name for a local variable - __foo_ret is less likely676676to collide with an existing variable.
+2-2
Documentation/DMA-API-HOWTO.txt
···240240241241 if (!dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64))) {242242 using_dac = 1;243243- consistent_using_dac = 1;243243+ consistent_using_dac = 1;244244 } else if (!dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32))) {245245 using_dac = 0;246246 consistent_using_dac = 0;···353353 transfer, unmapped right after it (unless you use dma_sync_* below)354354 and for which hardware can optimize for sequential accesses.355355356356- This of "streaming" as "asynchronous" or "outside the coherency356356+ Think of "streaming" as "asynchronous" or "outside the coherency357357 domain".358358359359 Good examples of what to use streaming mappings for are:
+2
Documentation/DocBook/kernel-hacking.tmpl
···954954 <function>MODULE_LICENSE()</function> that specifies a GPL955955 compatible license. It implies that the function is considered956956 an internal implementation issue, and not really an interface.957957+ Some maintainers and developers may however958958+ require EXPORT_SYMBOL_GPL() when adding any new APIs or functionality.957959 </para>958960 </sect1>959961 </chapter>
+3-1
Documentation/SubmittingPatches
···299299300300 Cc: stable@vger.kernel.org301301302302-into your patch.302302+into the sign-off area of your patch (note, NOT an email recipient). You303303+should also read Documentation/stable_kernel_rules.txt in addition to this304304+file.303305304306Note, however, that some subsystem maintainers want to come to their own305307conclusions on which patches should go to the stable trees. The networking
···11+ Interface between kernel and boot loaders on Exynos boards22+ ==========================================================33+44+Author: Krzysztof Kozlowski55+Date : 6 June 201566+77+The document tries to describe currently used interface between Linux kernel88+and boot loaders on Samsung Exynos based boards. This is not a definition99+of interface but rather a description of existing state, a reference1010+for information purpose only.1111+1212+In the document "boot loader" means any of following: U-boot, proprietary1313+SBOOT or any other firmware for ARMv7 and ARMv8 initializing the board before1414+executing kernel.1515+1616+1717+1. Non-Secure mode1818+Address: sysram_ns_base_addr1919+Offset Value Purpose2020+=============================================================================2121+0x08 exynos_cpu_resume_ns System suspend2222+0x0c 0x00000bad (Magic cookie) System suspend2323+0x1c exynos4_secondary_startup Secondary CPU boot2424+0x1c + 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot2525+0x20 0xfcba0d10 (Magic cookie) AFTR2626+0x24 exynos_cpu_resume_ns AFTR2727+0x28 + 4*cpu 0x8 (Magic cookie, Exynos3250) AFTR2828+2929+3030+2. Secure mode3131+Address: sysram_base_addr3232+Offset Value Purpose3333+=============================================================================3434+0x00 exynos4_secondary_startup Secondary CPU boot3535+0x04 exynos4_secondary_startup (Exynos542x) Secondary CPU boot3636+4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot3737+0x20 exynos_cpu_resume (Exynos4210 r1.0) AFTR3838+0x24 0xfcba0d10 (Magic cookie, Exynos4210 r1.0) AFTR3939+4040+Address: pmu_base_addr4141+Offset Value Purpose4242+=============================================================================4343+0x0800 exynos_cpu_resume AFTR4444+0x0814 exynos4_secondary_startup (Exynos4210 r1.1) Secondary CPU boot4545+0x0818 0xfcba0d10 (Magic cookie, Exynos4210 r1.1) AFTR4646+0x081C exynos_cpu_resume (Exynos4210 r1.1) AFTR4747+4848+4949+3. Other (regardless of secure/non-secure mode)5050+Address: pmu_base_addr5151+Offset Value Purpose5252+=============================================================================5353+0x0908 Non-zero (only Exynos3250) Secondary CPU boot up indicator
+11-3
Documentation/blackfin/gptimers-example.c
···17171818#define DRIVER_NAME "gptimer_example"19192020+#ifdef IRQ_TIMER52121+#define SAMPLE_IRQ_TIMER IRQ_TIMER52222+#else2323+#define SAMPLE_IRQ_TIMER IRQ_TIMER22424+#endif2525+2026struct gptimer_data {2127 uint32_t period, width;2228};···6357 }64586559 /* grab the IRQ for the timer */6666- ret = request_irq(IRQ_TIMER5, gptimer_example_irq, IRQF_SHARED, DRIVER_NAME, &data);6060+ ret = request_irq(SAMPLE_IRQ_TIMER, gptimer_example_irq,6161+ IRQF_SHARED, DRIVER_NAME, &data);6762 if (ret) {6863 printk(KERN_NOTICE DRIVER_NAME ": IRQ request failed\n");6964 peripheral_free(P_TMR5);···7265 }73667467 /* setup the timer and enable it */7575- set_gptimer_config(TIMER5_id, WDTH_CAP | PULSE_HI | PERIOD_CNT | IRQ_ENA);6868+ set_gptimer_config(TIMER5_id,6969+ WDTH_CAP | PULSE_HI | PERIOD_CNT | IRQ_ENA);7670 enable_gptimers(TIMER5bit);77717872 return 0;···8375static void __exit gptimer_example_exit(void)8476{8577 disable_gptimers(TIMER5bit);8686- free_irq(IRQ_TIMER5, &data);7878+ free_irq(SAMPLE_IRQ_TIMER, &data);8779 peripheral_free(P_TMR5);8880}8981module_exit(gptimer_example_exit);
+1-1
Documentation/cpu-freq/governors.txt
···36361. What Is A CPUFreq Governor?3737==============================38383939-Most cpufreq drivers (in fact, all except one, longrun) or even most3939+Most cpufreq drivers (except the intel_pstate and longrun) or even most4040cpu frequency scaling algorithms only offer the CPU to be set to one4141frequency. In order to offer dynamic frequency scaling, the cpufreq4242core must be able to tell these drivers of a "target frequency". So
+11-10
Documentation/cpu-freq/intel-pstate.txt
···3344This driver provides an interface to control the P state selection for55SandyBridge+ Intel processors. The driver can operate two different66-modes based on the processor model legacy and Hardware P state (HWP)66+modes based on the processor model, legacy mode and Hardware P state (HWP)77mode.8899-In legacy mode the driver implements a scaling driver with an internal1010-governor for Intel Core processors. The driver follows the same model1111-as the Transmeta scaling driver (longrun.c) and implements the1212-setpolicy() instead of target(). Scaling drivers that implement1313-setpolicy() are assumed to implement internal governors by the cpufreq1414-core. All the logic for selecting the current P state is contained1515-within the driver; no external governor is used by the cpufreq core.99+In legacy mode, the Intel P-state implements two internal governors,1010+performance and powersave, that differ from the general cpufreq governors of1111+the same name (the general cpufreq governors implement target(), whereas the1212+internal Intel P-state governors implement setpolicy()). The internal1313+performance governor sets the max_perf_pct and min_perf_pct to 100; that is,1414+the governor selects the highest available P state to maximize the performance1515+of the core. The internal powersave governor selects the appropriate P state1616+based on the current load on the CPU.16171718In HWP mode P state selection is implemented in the processor1819itself. The driver provides the interfaces between the cpufreq core and1920the processor to control P state selection based on user preferences2021and reporting frequency to the cpufreq core. In this mode the2121-internal governor code is disabled.2222+internal Intel P-state governor code is disabled.22232323-In addtion to the interfaces provided by the cpufreq core for2424+In addition to the interfaces provided by the cpufreq core for2425controlling frequency the driver provides sysfs files for2526controlling P state selection. These files have been added to2627/sys/devices/system/cpu/intel_pstate/
+4-4
Documentation/filesystems/porting
···379379returned if the filesystem cannot handle rcu-walk. See380380Documentation/filesystems/vfs.txt for more details.381381382382- permission and check_acl are inode permission checks that are called383383-on many or all directory inodes on the way down a path walk (to check for384384-exec permission). These must now be rcu-walk aware (flags & IPERM_FLAG_RCU).385385-See Documentation/filesystems/vfs.txt for more details.382382+ permission is an inode permission check that is called on many or all383383+directory inodes on the way down a path walk (to check for exec permission). It384384+must now be rcu-walk aware (mask & MAY_NOT_BLOCK). See385385+Documentation/filesystems/vfs.txt for more details.386386387387--388388[mandatory]
+2-1
Documentation/filesystems/proc.txt
···205205snapshot of a moment, you can see /proc/<pid>/smaps file and scan page table.206206It's slow but very precise.207207208208-Table 1-2: Contents of the status files (as of 3.20.0)208208+Table 1-2: Contents of the status files (as of 4.1)209209..............................................................................210210 Field Content211211 Name filename of the executable···235235 VmExe size of text segment236236 VmLib size of shared library code237237 VmPTE size of page table entries238238+ VmPMD size of second level page tables238239 VmSwap size of swap usage (the number of referred swapents)239240 Threads number of threads240241 SigQ number of signals queued/max. number for queue
+11-6
Documentation/filesystems/vfs.txt
···797797----------------------798798799799This describes how the VFS can manipulate an open file. As of kernel800800-3.12, the following members are defined:800800+4.1, the following members are defined:801801802802struct file_operations {803803 struct module *owner;···811811 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);812812 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);813813 int (*mmap) (struct file *, struct vm_area_struct *);814814+ int (*mremap)(struct file *, struct vm_area_struct *);814815 int (*open) (struct inode *, struct file *);815815- int (*flush) (struct file *);816816+ int (*flush) (struct file *, fl_owner_t id);816817 int (*release) (struct inode *, struct file *);817818 int (*fsync) (struct file *, loff_t, loff_t, int datasync);818819 int (*aio_fsync) (struct kiocb *, int datasync);···823822 unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);824823 int (*check_flags)(int);825824 int (*flock) (struct file *, int, struct file_lock *);826826- ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, size_t, unsigned int);827827- ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int);828828- int (*setlease)(struct file *, long arg, struct file_lock **, void **);829829- long (*fallocate)(struct file *, int mode, loff_t offset, loff_t len);825825+ ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);826826+ ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);827827+ int (*setlease)(struct file *, long, struct file_lock **, void **);828828+ long (*fallocate)(struct file *file, int mode, loff_t offset,829829+ loff_t len);830830 void (*show_fdinfo)(struct seq_file *m, struct file *f);831831+#ifndef CONFIG_MMU832832+ unsigned (*mmap_capabilities)(struct file *);833833+#endif831834};832835833836Again, all methods are called without any locks being held, unless
+1-1
Documentation/gpio/consumer.txt
···290290291291 int gpiod_to_irq(const struct gpio_desc *desc)292292293293-It will return an IRQ number, or an negative errno code if the mapping can't be293293+It will return an IRQ number, or a negative errno code if the mapping can't be294294done (most likely because that particular GPIO cannot be used as IRQ). It is an295295unchecked error to use a GPIO that wasn't set up as an input using296296gpiod_direction_input(), or to use an IRQ number that didn't originally come
···150150(e.g. 16TB to cover 128TB on x86_64) and uses direct mapping with a scale and151151offset to translate a memory address to its corresponding shadow address.152152153153-Here is the function witch translate an address to its corresponding shadow153153+Here is the function which translates an address to its corresponding shadow154154address:155155156156static inline void *kasan_mem_to_shadow(const void *addr)
+2-2
Documentation/kbuild/makefiles.txt
···755755 #lib/Makefile756756 clean-files := crc32table.h757757758758-When executing "make clean", the two files "devlist.h classlist.h" will be759759-deleted. Kbuild will assume files to be in the same relative directory as the758758+When executing "make clean", the file "crc32table.h" will be deleted.759759+Kbuild will assume files to be in the same relative directory as the760760Makefile, except if prefixed with $(objtree).761761762762To delete a directory hierarchy use:
···88 - information on hard disk shock protection.99dslm.c1010 - Simple Disk Sleep Monitor program1111-freefall.c1212- - (HP/DELL) laptop accelerometer program for disk protection.1311laptop-mode.txt1412 - how to conserve battery power using laptop-mode.1513sony-laptop.txt
+1-1
Documentation/laptops/Makefile
···11# List of programs to build22-hostprogs-y := dslm freefall22+hostprogs-y := dslm3344# Tell kbuild to always build the programs55always := $(hostprogs-y)
···122122PHY Management123123--------------124124125125-The physical link (i2c, ...) management is defined by the following struture:125125+The physical link (i2c, ...) management is defined by the following structure:126126127127struct nfc_phy_ops {128128 int (*write)(void *dev_id, struct sk_buff *skb);
+14-5
Documentation/stable_kernel_rules.txt
···5959 changelog of your submission, as well as the kernel version you wish6060 it to be applied to.61616262-Option 1 is probably the easiest and most common. Options 2 and 3 are more6363-useful if the patch isn't deemed worthy at the time it is applied to a public6464-git tree (for instance, because it deserves more regression testing first).6565-Option 3 is especially useful if the patch needs some special handling to apply6666-to an older kernel (e.g., if API's have changed in the meantime).6262+Option 1 is *strongly* preferred, is the easiest and most common. Options 2 and6363+3 are more useful if the patch isn't deemed worthy at the time it is applied to6464+a public git tree (for instance, because it deserves more regression testing6565+first). Option 3 is especially useful if the patch needs some special handling6666+to apply to an older kernel (e.g., if API's have changed in the meantime).6767+6868+Note that for Option 3, if the patch deviates from the original upstream patch6969+(for example because it had to be backported) this must be very clearly7070+documented and justified in the patch description.7171+7272+The upstream commit ID must be specified with a separate line above the commit7373+text, like this:7474+7575+ commit <sha1> upstream.67766877Additionally, some patches submitted via Option 1 may have additional patch6978prerequisites which can be cherry-picked. This can be specified in the following
+2-2
Documentation/trace/ftrace.txt
···108108 data is read from this file, it is consumed, and109109 will not be read again with a sequential read. The110110 "trace" file is static, and if the tracer is not111111- adding more data,they will display the same112112- information every time they are read.111111+ adding more data, it will display the same112112+ information every time it is read.113113114114 trace_options:115115
+7-5
Documentation/usb/usb-serial.txt
···465465 device, and does not support any kind of device flow control. All that466466 is required of your device is that it has at least one bulk in endpoint,467467 or one bulk out endpoint. 468468-469469- To enable the generic driver to recognize your device, build the driver470470- as a module and load it by the following invocation:468468+469469+ To enable the generic driver to recognize your device, provide470470+ echo <vid> <pid> >/sys/bus/usb-serial/drivers/generic/new_id471471+ where the <vid> and <pid> is replaced with the hex representation of your472472+ device's vendor id and product id.473473+ If the driver is compiled as a module you can also provide one id when474474+ loading the module471475 insmod usbserial vendor=0x#### product=0x####472472- where the #### is replaced with the hex representation of your device's473473- vendor id and product id.474476475477 This driver has been successfully used to connect to the NetChip USB476478 development board, providing a way to develop USB firmware without
···21212222To submit firmware to that repository, please send either a git binary2323diff or preferably a git pull request to:2424- David Woodhouse <dwmw2@infradead.org>2525- Ben Hutchings <ben@decadent.org.uk>2424+ linux-firmware@kernel.org2525+and also cc: to related mailing lists.26262727Your commit should include an update to the WHENCE file clearly2828identifying the licence under which the firmware is available, and2929that it is redistributable. If the licence is long and involved, it's3030permitted to include it in a separate file and refer to it from the3131WHENCE file.3232+And if it were possible, a changelog of the firmware itself.32333334Ideally, your commit should contain a Signed-Off-By: from someone3435authoritative on the licensing of the firmware in question (i.e. from3536within the company that owns the code).3737+3838+3939+WARNING:4040+=======4141+4242+Don't send any "CONFIDENTIALITY STATEMENT" in your e-mail, patch or4343+request. Otherwise your firmware _will never be accepted_.4444+4545+Maintainers are really busy, so don't expect a prompt reply.