aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-14dt/bindings: Add bindings for the PIC32 real time clockJoshua Henderson1-0/+21
Document the devicetree bindings for the real time clock found on Microchip PIC32 class devices. Signed-off-by: Joshua Henderson <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: rx8025: unsupport UIE modeAkinobu Mita1-0/+3
The alarm for rx8025 only has a minute accuracy, so unsupport UIE mode. pcf8563 and hym8563 also have a minute accuracy and unsupport it. Signed-off-by: Akinobu Mita <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: Alexandre Belloni <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: rx8025: round up to nearest minute for a minute accuracy alarmAkinobu Mita1-1/+11
The alarm for rx8025 only has a minute accuracy, so round up to nearest minute when setting alarm. Without doing this, rtctest blocks one day after setting alarm to 5 seconds later. pcf8563 and hym8563 also have similar handling. Signed-off-by: Akinobu Mita <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: Alexandre Belloni <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: rx8025: protect ctrl1 register update by rtc->ops_lockAkinobu Mita1-0/+4
The ctrl1 register is accessed by alarm operations. But it is updated in threaded interrupt handler without acquiring rtc->ops_lock. Signed-off-by: Akinobu Mita <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: Alexandre Belloni <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: rx8025: fix irq handler registrationAkinobu Mita1-2/+3
When IRQ line for this chips is connected, devm_request_threaded_irq() refuses to register irq handler with the following message. genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq Signed-off-by: Akinobu Mita <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: Alexandre Belloni <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: s5m: De-inline large functions to save spaceKrzysztof Kozlowski1-4/+4
Few functions were marked inline even though they were relatively large and sometimes used in multiple places. De-inline them to let the compiler decide whether optimization makes sense. This fixes inline_hunt report: drivers/rtc/rtc-s5m.c: Deinline s5m8767_rtc_set_alarm_reg, save 704 bytes drivers/rtc/rtc-s5m.c: Deinline s5m8767_wait_for_udr_update, save 192 bytes Reported-by: Denys Vlasenko <[email protected]> Cc: Denys Vlasenko <[email protected]> Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: make class.c explicitly non-modularPaul Gortmaker1-13/+0
The Makefile/Kconfig currently controlling compilation of this code is: obj-$(CONFIG_RTC_CLASS) += rtc-core.o rtc-core-y := class.o interface.o drivers/rtc/Kconfig:menuconfig RTC_CLASS drivers/rtc/Kconfig: bool "Real Time Clock" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the code there is no doubt it is builtin-only. We don't replace module.h with init.h since the file does need to know what a struct module is. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf85063: fix time/date settingJuergen Borleis1-23/+55
When setting a new time/date the RTC's clock must be stopped first, in order to write the time/date registers in an atomic manner. So, this change stops the clock first and then writes the time/date registers and the clock control register (to re-enable the clock) in one turn. Signed-off-by: Juergen Borleis <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf85063: fix time/date readingJuergen Borleis1-0/+7
Check if the RTC signals an invalid time/date (due to a battery power loss for example). In this case ignore the time/date until it is really set again. Signed-off-by: Juergen Borleis <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf85063: simplify code to read the current timeJuergen Borleis1-26/+21
By using i2c_smbus_read_i2c_block_data() the code is now much simpler. While at it: when reading the RTC's seconds register, all time/date registers are frozen until the RTC's year register is read. So it is important to read all time/date registers in one turn to not lose a second event. Make it more clear why the read must happen in this way. Signed-off-by: Juergen Borleis <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf2123: implement read_offset and set_offsetJoshua Clayton1-0/+57
pcf2123 has an offset register, which can be used to make minor adjustments to the clock rate to compensate for temperature or a crystal that is not exactly right. Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: implement a sysfs interface for clock offsetJoshua Clayton2-1/+40
clock offset may be set and read in decimal parts per billion attribute is /sys/class/rtc/rtcN/offset The attribute is only visible for rtcs that have set_offset implemented. Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: Add functions to set and read rtc offsetJoshua Clayton2-0/+58
A number of rtc devices, such as the NXP pcf2123 include a facility to adjust the clock in order to compensate for temperature or a crystal, capacitor, etc, that results in the rtc clock not running at exactly 32.768 kHz. Data sheets I have seen refer to this as a clock offset, and measure it in parts per million, however they often reference ppm to 2 digits of precision, which makes integer ppm less than ideal. We use parts per billion, which more than covers the precision needed and works nicely within 32 bits Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: rv8803: convert spin_lock to mutex_lockOleksij Rempel1-21/+18
Fix a scheduling while atomic issue caused by rv8803_set_time() holding a spinlock during the call to i2c_smbus_read_byte_data(). Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14doc: dt: add documentation for alphascale,asm9260-rtcOleksij Rempel1-0/+19
Document Alphascale asm9260 RTC bindings Signed-off-by: Oleksij Rempel <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: add Alphascale asm9260 driverOleksij Rempel3-0/+366
Add support for RTC controller found on Alphascale asm9260 SoC. Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: ds1307: add clock provider support for DS3231Akinobu Mita2-1/+332
DS3231 has programmable square-wave output signal. This enables to use this feature as a clock provider of common clock framework. Signed-off-by: Akinobu Mita <[email protected]> Reviewed-by: Michael Turquette <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: max77686: move initialisation of rtc regmap, irq chip locallyLaxman Dewangan3-106/+130
To make RTC block of MAX77686/MAX77802 as independent driver, move the registration of i2c device, regmap for register access and irq_chip for interrupt support inside the RTC driver. Removed the same initialisation from MFD driver. Having this change will allow to reuse this driver for different PMIC/devices from Maxim Semiconductor if they kept same RTC IP on different PMIC. Some of examples as PMIC MAX77620, MAX20024 where same RTC IP used and hence driver for these chips will use this driver only for RTC support. Suggested-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Laxman Dewangan <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Acked-by: Lee Jones <[email protected]> Tested-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14mfd: max77686: do not set i2c client data for rtc i2c clientLaxman Dewangan1-1/+0
There is different RTC I2C address for RTC block in MAX77686. Driver is creating dummy i2c client for this address to access the register of this IP block. As there is no call to i2c_get_clientdata() for rtc_i2c client, there is no need to store pointer and hence removing the call to set client data for rtc i2c client. Suggested-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Laxman Dewangan <[email protected]> Tested-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Acked-by: Lee Jones <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: max77686: avoid reference of parent device info multiple placesLaxman Dewangan1-29/+23
Get rid of referring parent device info for register access all the places by making regmap as part of max77686 rtc device info. This will also remove the need of storing parent device info in max77686 rtc device info as this is no more required. Signed-off-by: Laxman Dewangan <[email protected]> Tested-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: max77686: use rtc regmap to access RTC registersLaxman Dewangan1-3/+4
rtc_regmap should be used to access all RTC registers instead of parent regmap regardless of what chip or property have it. This makes the register access uniform and extendible for other chips. Signed-off-by: Laxman Dewangan <[email protected]> Tested-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: max77686: fix checkpatch errorLaxman Dewangan1-12/+13
Fix following check patch error in rtc-max77686 driver: - Alignment should match open parenthesis. - braces {} should be used on all arms of this statement. - Prefer using the BIT macro Signed-off-by: Laxman Dewangan <[email protected]> Tested-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: allow compilation of sun6i RTC for all sunxi SoCsAndre Przywara1-3/+4
At the moment the "sun6i" RTC drivers depends on having two specific SoC families selected. The Allwinner A64 SoC has the same RTC, so extend the Kconfig option to allow inclusion of the driver for all Allwinner SoCs. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: add driver for RX6110SA real time clockSteffen Trumtrar3-0/+412
The RX6110 comes in two different variants: SPI and I2C. This driver only supports the SPI variant. If the need ever arises to also support the I2C variant, this driver could easily be refactored to support both cases. Reviewed-by: Philipp Zabel <[email protected]> Signed-off-by: Steffen Trumtrar <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14Documentation: devicetree: add epson rx6110 bindingSteffen Trumtrar1-0/+39
Add the binding documentation for the Epson RX6110 RTC. Acked-by: Rob Herring <[email protected]> Reviewed-by: Philipp Zabel <[email protected]> Signed-off-by: Steffen Trumtrar <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf2123: avoid resetting the clock if possibleJoshua Clayton1-3/+12
pcf2123 data sheet recommends a software reset when the chip is first powered on. This change avoids resetting the chip every time the driver is loaded, which has some negative effects. There are several registers including a clock rate adjustment that really should survive a reload of the driver (or reboot). In addition, stopping and restarting the clock to verify the chip is there is not a good thing once the time is set. According to the data sheet, the seconds register has a 1 in the high bit when the voltage has gotten low. We check for this condition, as well as whether the time retrieved from the chip is valid. We reset the rtc only if the time is not reliable and valid. This is sufficient for checking for the presence of the chip, as either all zeros or all 0xff will result in an invalid time/date Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf2123: refactor chip reset into a functionJoshua Clayton1-28/+36
Refactor chip reset items into its own function, isolating it from the rest of the device probe. Subsequent commits will avoid calling this code. Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf2123: clean up writes to the rtc chipJoshua Clayton1-35/+32
Add new functions pcf2123_write(), and pcf2123_write_reg(). Use named defines for the values being written. This improves modularity and readability, and reduces lines of code. Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf2123: clean up reads from the chipJoshua Clayton1-17/+19
Put read operations into a function. This improves modularity and readability. Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14rtc: pcf2123: define registers and bit macrosJoshua Clayton1-3/+47
Add defines for all 16 registers in the pcf2123. Add defines for useful bits from several registers I've tried to document all the registers, and as best as possible, all the special bits they employ Use BIT() wherever possible in the bit definitions Signed-off-by: Joshua Clayton <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]>
2016-03-14s390/pci: enforce fmb page boundary ruleSebastian Ott2-2/+5
The function measurement block must not cross a page boundary. Ensure that by raising the alignment requirement to the smallest power of 2 larger than the size of the fmb. Fixes: d0b088531 ("s390/pci: performance statistics and debug infrastructure") Cc: [email protected] # v3.8+ Signed-off-by: Sebastian Ott <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2016-03-14iscsi_ibft: Add prefix-len attr and display netmaskHannes Reinecke3-0/+10
The iBFT table only specifies a prefix length, not a netmask. And the netmask is pretty much pointless for IPv6. So introduce a new attribute 'prefix-len'. Some older user-space code might rely on the netmask attribute being present, so we should always display it. Changes from v1: - Combined two patches into one Changes from v2: - Cleaned up/corrected wording for patch description v3: [Put Hannes back as author] Signed-off-by: Hannes Reinecke <[email protected]> Signed-off-by: Lee Duncan <[email protected]> Reviewed-by: Mike Christie <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2016-03-14Merge branch 'pm-tools'Rafael J. Wysocki3-201/+728
* pm-tools: tools/power turbostat: bugfix: TDP MSRs print bits fixing tools/power turbostat: correct output for MSR_NHM_SNB_PKG_CST_CFG_CTL dump tools/power turbostat: call __cpuid() instead of __get_cpuid() tools/power turbostat: indicate SMX and SGX support tools/power turbostat: detect and work around syscall jitter tools/power turbostat: show GFX%rc6 tools/power turbostat: show GFXMHz tools/power turbostat: show IRQs per CPU tools/power turbostat: make fewer systems calls tools/power turbostat: fix compiler warnings tools/power turbostat: add --out option for saving output in a file tools/power turbostat: re-name "%Busy" field to "Busy%" tools/power turbostat: Intel Xeon x200: fix turbo-ratio decoding tools/power turbostat: Intel Xeon x200: fix erroneous bclk value tools/power turbostat: allow sub-sec intervals tools/power turbostat: Decode MSR_MISC_PWR_MGMT tools/power turbostat: decode HWP registers x86 msr-index: Simplify syntax for HWP fields tools/power turbostat: CPUID(0x16) leaf shows base, max, and bus frequency tools/power turbostat: decode more CPUID fields
2016-03-14Merge branches 'pm-cpuidle', 'pm-sleep' and 'pm-domains'Rafael J. Wysocki8-72/+143
* pm-cpuidle: cpuidle: menu: help gcc generate slightly better code cpuidle: menu: avoid expensive square root computation * pm-sleep: PM / suspend: replacing printk PM/freezer: y2038, use boottime to compare tstamps PM / sleep: declare __tracedata symbols as char[] rather than char * pm-domains: PM / Domains: Fix potential NULL pointer dereference PM / Domains: Fix removal of a subdomain PM / Domains: Propagate start and restore errors during runtime resume PM / Domains: Join state name and index in debugfs output PM / Domains: Restore alignment of slaves in debugfs output PM / Domains: remove old power on/off latencies ARM: imx6: pm: declare pm domain latency on power_state struct PM / Domains: Support for multiple states
2016-03-14Merge branch 'pm-cpufreq'Rafael J. Wysocki26-1718/+1503
* pm-cpufreq: (94 commits) intel_pstate: Do not skip samples partially intel_pstate: Remove freq calculation from intel_pstate_calc_busy() intel_pstate: Move intel_pstate_calc_busy() into get_target_pstate_use_performance() intel_pstate: Optimize calculation for max/min_perf_adj intel_pstate: Remove extra conversions in pid calculation cpufreq: Move scheduler-related code to the sched directory Revert "cpufreq: postfix policy directory with the first CPU in related_cpus" cpufreq: Reduce cpufreq_update_util() overhead a bit cpufreq: Select IRQ_WORK if CPU_FREQ_GOV_COMMON is set cpufreq: Remove 'policy->governor_enabled' cpufreq: Rename __cpufreq_governor() to cpufreq_governor() cpufreq: Relocate handle_update() to kill its declaration cpufreq: governor: Drop unnecessary checks from show() and store() cpufreq: governor: Fix race in dbs_update_util_handler() cpufreq: governor: Make gov_set_update_util() static cpufreq: governor: Narrow down the dbs_data_mutex coverage cpufreq: governor: Make dbs_data_mutex static cpufreq: governor: Relocate definitions of tuners structures cpufreq: governor: Move per-CPU data to the common code cpufreq: governor: Make governor private data per-policy ...
2016-03-14Merge branch 'pm-opp'Rafael J. Wysocki5-408/+879
* pm-opp: PM / OPP: Rename structures for clarity PM / OPP: Fix incorrect comments PM / OPP: Initialize regulator pointer to an error value PM / OPP: Initialize u_volt_min/max to a valid value PM / OPP: Fix NULL pointer dereference crash when disabling OPPs PM / OPP: Add dev_pm_opp_set_rate() PM / OPP: Manage device clk PM / OPP: Parse clock-latency and voltage-tolerance for v1 bindings PM / OPP: Introduce dev_pm_opp_get_max_transition_latency() PM / OPP: Introduce dev_pm_opp_get_max_volt_latency() PM / OPP: Disable OPPs that aren't supported by the regulator PM / OPP: get/put regulators from OPP core
2016-03-14Merge branch 'powercap'Rafael J. Wysocki2-106/+115
* powercap: powercap/rapl: track lead cpu per package powercap/rapl: add package reference per domain powercap/rapl: reduce ipi calls cpumask: export cpumask_any_but
2016-03-14Merge branch 'device-properties'Rafael J. Wysocki1-8/+17
* device-properties: device property: fix for a case of use-after-free
2016-03-14Merge branches 'acpi-ec', 'acpi-fan', 'acpi-video' and 'acpi-misc'Rafael J. Wysocki9-40/+32
* acpi-ec: ACPI / EC: Deny write access unless requested by module param * acpi-fan: ACPI / fan: Make struct dev_pm_ops const * acpi-video: ACPI / video: remove unused device_decode array * acpi-misc: ACPI / util: remove redundant check if element is NULL ACPI: Add acpi_force_32bit_fadt_addr option to force 32 bit FADT addresses drivers/acpi: make pmic/intel_pmic_crc.c explicitly non-modular drivers/acpi: make apei/ghes.c more explicitly non-modular drivers/acpi: make bgrt driver explicitly non-modular
2016-03-14Merge branches 'acpi-pci', 'acpi-soc' and 'pnp'Rafael J. Wysocki6-5/+49
* acpi-pci: x86/ACPI/PCI: Recognize that Interrupt Line 255 means "not connected" * acpi-soc: i2c: designware: Add device HID for future AMD I2C controller * pnp: PNP / ACPI: add ACPI_RESOURCE_TYPE_SERIAL_BUS as a valid type
2016-03-14Merge branches 'acpi-processor' and 'acpi-cppc'Rafael J. Wysocki7-114/+359
* acpi-processor: ACPI / sleep: move acpi_processor_sleep to sleep.c ACPI / processor : add support for ACPI0010 processor container ACPI / processor_idle: replace PREFIX with pr_fmt * acpi-cppc: ACPI / CPPC: use MRTT/MPAR to decide if/when a req can be sent ACPI / CPPC: replace writeX/readX to PCC with relaxed version mailbox: pcc: optimized pcc_send_data ACPI / CPPC: optimized cpc_read and cpc_write ACPI / CPPC: Optimize PCC Read Write operations
2016-03-14Merge branches 'acpi-scan', 'acpi-osl' and 'acpi-apei'Rafael J. Wysocki10-85/+260
* acpi-scan: ACPI / scan: AMBA bus probing support ACPI: introduce a function to find the first physical device * acpi-osl: ACPI / OSL: Add support to install tables via initrd ACPI / OSL: Clean up initrd table override code * acpi-apei: ACPI / APEI: ERST: Fixed leaked resources in erst_init ACPI / APEI: Fix leaked resources
2016-03-14Merge branch 'acpica'Rafael J. Wysocki26-190/+374
* acpica: ACPICA / Interpreter: Fix a regression triggered because of wrong Linux ECDT support ACPICA: Utilities: Update trace mechinism for acquire_object ACPICA: Namespace: Rename acpi_gbl_reg_methods_enabled to acpi_gbl_namespace_initialized ACPICA: Namespace: Ensure \_SB._INI executed before any _REG ACPICA: ACPICA: Tune _REG evaluations order in the initialization steps ACPICA: Tables: make default region accessible during the table load ACPICA: ACPI 6.0/iASL: Add support for the External AML opcode ACPICA: Remove unnecessary arguments to ACPI_INFO ACPICA: debugger: dbconvert: free pld_info on error return path ACPICA: iASL: Update to use internal acpi_ut_strtoul64 function ACPICA: iASL: Fix some typos with the name strtoul64 ACPICA: Remove incorrect "static" from a global structure ACPICA: aclocal: Put parens around some definitions.
2016-03-14avr32: fix asm operand constraint in cmpxchg()Mans Rullgard1-1/+1
If the 'old' operand to cmpxchg() is a constant wider than 21 bits, linking fails with a "relocation truncated to fit: R_AVR32_21S" error. Fix this by replacing the "i" constraint with "Ks21" which makes the compiler use a temporary register for out of range constants. Signed-off-by: Mans Rullgard <[email protected]> Acked-by: Hans-Christian Noren Egtvedt <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Tested-by: Sudip Mukherjee <[email protected]>
2016-03-14avr32: wire up copy_file_range syscallHans-Christian Egtvedt3-0/+11
This patch wires up the new copy_file_range syscall on AVR32. On AVR32, all parameters beyond the 5th are passed on the stack. System calls don't use the stack -- they borrow a callee-saved register instead. This means that syscalls that take 6 parameters must be called through a stub that pushes the last parameter on the stack. Signed-off-by: Hans-Christian Noren Egtvedt <[email protected]>
2016-03-14leds: triggers: simplify led_trigger_storeHeiner Kallweit1-11/+2
led_trigger_store can be significantly simplified by using sysfs_streq(). Signed-off-by: Heiner Kallweit <[email protected]> Signed-off-by: Jacek Anaszewski <[email protected]>
2016-03-14leds: max8997: Use devm_led_classdev_registerAmitoj Kaur Chawla1-13/+1
Switch to resource-managed function devm_led_classdev_register instead of led_classdev_register and remove unneeded led_classdev_unregister. Also, remove platform_set_drvdata in probe function and the remove function, max8997_led_remove as it is now has nothing to do. The Coccinelle semantic patch used to make this change is as follows: //<smpl> @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e; @@ probefn(struct platform_device *pdev, ...) { ... e = - led_classdev_register + devm_led_classdev_register (...); ... ?- led_classdev_unregister(...); ... } @remove depends on prb@ identifier platform.removefn; @@ removefn(...) { ... ?- led_classdev_unregister(...); ... } //</smpl> Signed-off-by: Amitoj Kaur Chawla <[email protected]> Signed-off-by: Jacek Anaszewski <[email protected]>
2016-03-14leds: da903x: Use devm_led_classdev_registerAmitoj Kaur Chawla1-11/+1
Switch to resource-managed function devm_led_classdev_register instead of led_classdev_register and remove unneeded led_classdev_unregister. Also, remove platform_set_drvdata in probe function and the remove function, da903x_led_remove as it is now has nothing to do. The Coccinelle semantic patch used to make this change is as follows: //<smpl> @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e; @@ probefn(struct platform_device *pdev, ...) { ... e = - led_classdev_register + devm_led_classdev_register (...); ... ?- led_classdev_unregister(...); ... } @remove depends on prb@ identifier platform.removefn; @@ removefn(...) { ... ?- led_classdev_unregister(...); ... } //</smpl> Signed-off-by: Amitoj Kaur Chawla <[email protected]> Signed-off-by: Jacek Anaszewski <[email protected]>
2016-03-14leds: s3c24xx: Use devm_led_classdev_registerAmitoj Kaur Chawla1-18/+1
Switch to resource-managed function devm_led_classdev_register instead of led_classdev_register and remove unneeded led_classdev_unregister. Also, remove unnecessary function pdev_to_gpio, platform_set_drvdata in the probe function and the remove function, s3c24xx_led_remove as it is now has nothing to do. The Coccinelle semantic patch used to make this change is as follows: //<smpl> @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e; @@ probefn(struct platform_device *pdev, ...) { ... e = - led_classdev_register + devm_led_classdev_register (...); ... ?- led_classdev_unregister(...); ... } @remove depends on prb@ identifier platform.removefn; @@ removefn(...) { ... ?- led_classdev_unregister(...); ... } //</smpl> Signed-off-by: Amitoj Kaur Chawla <[email protected]> Signed-off-by: Jacek Anaszewski <[email protected]>
2016-03-14leds: wm831x-status: Use devm_led_classdev_registerAmitoj Kaur Chawla1-12/+1
Switch to resource-managed function devm_led_classdev_register instead of led_classdev_register and remove unneeded led_classdev_unregister. Also, remove platform_set_drvdata from probe function and the remove function, wm831x_status_remove as it is now has nothing to do. The Coccinelle semantic patch used to make this change is as follows: //<smpl> @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e; @@ probefn(struct platform_device *pdev, ...) { ... e = - led_classdev_register + devm_led_classdev_register (...); ... ?- led_classdev_unregister(...); ... } @remove depends on prb@ identifier platform.removefn; @@ removefn(...) { ... ?- led_classdev_unregister(...); ... } //</smpl> Signed-off-by: Amitoj Kaur Chawla <[email protected]> Signed-off-by: Jacek Anaszewski <[email protected]>