- 27 2月, 2015 1 次提交
-
-
由 Bill Richardson 提交于
Chromebooks have an Embedded Controller (EC) that is used to implement various functions such as keyboard, power and battery. The AP can communicate with the EC through different bus types such as I2C, SPI or LPC. The cros_ec mfd driver is then composed of a core driver that register the sub-devices as mfd cells and provide a high level communication interface that is used by the rest of the kernel and bus specific interfaces modules. Each connection method then has its own driver, which register with the EC driver interface-agnostic interface. Currently, there are drivers to communicate with the EC over I2C and SPI and this driver adds support for LPC. Signed-off-by: NBill Richardson <wfrichar@chromium.org> Signed-off-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk> Tested-by: NGwendal Grignou <gwendal@chromium.org> Reviewed-by: NGwendal Grignou <gwendal@chromium.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 19 2月, 2015 1 次提交
-
-
由 Bryan O'Donoghue 提交于
Intel's Quark X1000 SoC contains a set of registers called Isolated Memory Regions. IMRs are accessed over the IOSF mailbox interface. IMRs are areas carved out of memory that define read/write access rights to the various system agents within the Quark system. For a given agent in the system it is possible to specify if that agent may read or write an area of memory defined by an IMR with a granularity of 1 KiB. Quark_SecureBootPRM_330234_001.pdf section 4.5 details the concept of IMRs quark-x1000-datasheet.pdf section 12.7.4 details the implementation of IMRs in silicon. eSRAM flush, CPU Snoop write-only, CPU SMM Mode, CPU non-SMM mode, RMU and PCIe Virtual Channels (VC0 and VC1) can have individual read/write access masks applied to them for a given memory region in Quark X1000. This enables IMRs to treat each memory transaction type listed above on an individual basis and to filter appropriately based on the IMR access mask for the memory region. Quark supports eight IMRs. Since all of the DMA capable SoC components in the X1000 are mapped to VC0 it is possible to define sections of memory as invalid for DMA write operations originating from Ethernet, USB, SD and any other DMA capable south-cluster component on VC0. Similarly it is possible to mark kernel memory as non-SMM mode read/write only or to mark BIOS runtime memory as SMM mode accessible only depending on the particular memory footprint on a given system. On an IMR violation Quark SoC X1000 systems are configured to reset the system, so ensuring that the IMR memory map is consistent with the EFI provided memory map is critical to ensure no IMR violations reset the system. The API for accessing IMRs is based on MTRR code but doesn't provide a /proc or /sys interface to manipulate IMRs. Defining the size and extent of IMRs is exclusively the domain of in-kernel code. Quark firmware sets up a series of locked IMRs around pieces of memory that firmware owns such as ACPI runtime data. During boot a series of unlocked IMRs are placed around items in memory to guarantee no DMA modification of those items can take place. Grub also places an unlocked IMR around the kernel boot params data structure and compressed kernel image. It is necessary for the kernel to tear down all unlocked IMRs in order to ensure that the kernel's view of memory passed via the EFI memory map is consistent with the IMR memory map. Without tearing down all unlocked IMRs on boot transitory IMRs such as those used to protect the compressed kernel image will cause IMR violations and system reboots. The IMR init code tears down all unlocked IMRs and sets a protective IMR around the kernel .text and .rodata as one contiguous block. This sanitizes the IMR memory map with respect to the EFI memory map and protects the read-only portions of the kernel from unwarranted DMA access. Tested-by: NOng, Boon Leong <boon.leong.ong@intel.com> Signed-off-by: NBryan O'Donoghue <pure.logic@nexus-software.ie> Reviewed-by: NAndy Shevchenko <andy.schevchenko@gmail.com> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Reviewed-by: NOng, Boon Leong <boon.leong.ong@intel.com> Cc: andy.shevchenko@gmail.com Cc: dvhart@infradead.org Link: http://lkml.kernel.org/r/1422635379-12476-2-git-send-email-pure.logic@nexus-software.ieSigned-off-by: NIngo Molnar <mingo@kernel.org>
-
- 12 2月, 2015 13 次提交
-
-
由 Darren Hart 提交于
Remove the Free Software Foundation street address paragraph and reference COPYING. Remove an empty TODO block. Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Darren Hart 提交于
Ensure multiline comments start with /* and */ each on its own line. Capitalize the first word of comments. Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
This patch makes use of the DEVICE_ATTR_{RO, RW} macros to simplify sysfs attributes declarations. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
This patch removes the toshiba_ prefix from all the sysfs function names and adapted the code according to coding style. Also a few functions were renamed to match the sysfs entry, as this patch is a preparation for the next patch to switch to DEVICE_ATTR_{RO, RW, WO} macros. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Commit 93f8c16d ("toshiba_acpi: Support new keyboard backlight type") moved all the sysfs structs and function declarations further up in order to make use of sysfs_update_group, however, commit 80546905 ("toshiba_acpi: Add keyboard backlight mode change event") made use of that function unnecesary. This patch moves all the sysfs structs and function declarations further down, making the file shorther in lines and more readable. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
This patch simply cleans the the driver out of 2 errors and 17 warnings according to "checkpatch -f", no functionality was changed, simply a cleanup. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Several new features were added on previous patches, so lets bump up the driver version. And also, update the copyright year. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Toshiba laptops that come with USB 3 ports have a feature that lets them disable USB 3 functionality and act as a regular USB 2 port, and thus, saving power. This patch adds support to that feature, by creating a sysfs entry named "usb_three", acceptig only two parameters, 0 to disable the USB 3 (acting as a USB 2) and 1 to enable it, however, a reboot is needed everytime this is toggled. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Toshiba laptops come with a feature called "Panel Open - Power ON", which makes the laptop turn on whenever the LID is opened. This patch adds support for such feature, by creating a sysfs entry named "panel_power_on", accepting only two values, 0 to disable and 1 to enable such feature, however, a reboot is needed on every mode change. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Recent Toshiba laptops that come with the new keyboard layout have the Special Functions (hotkeys) enabled by default, which, in order to access the F{1-12} keys, you need to press the FN-F{1-12} key to access such key. This patch adds support to toggle the Keyboard Functions operation mode by creating the sysfs entry "kbd_functions_keys", accepting only two parameters, 0 to set the "Normal Operation" mode and 1 to set the "Special Functions" mode, however, everytime the mode is toggled, a restart is needed. In the "Normal Operation" mode, the F{1-12} keys are as usual and the hotkeys are accessed via FN-F{1-12}. In the "Special Functions" mode, the F{1-12} keys trigger the hotkey and the F{1-12} keys are accessed via FN-F{1-12}. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
This patch adds a fan entry to sysfs, enabling the user to get and set the fan status. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
This patch adds a new entry to the sysfs, showing the version of the driver. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Adam Lee 提交于
Latest ThinkPad models use a new string pattern of BIOS version, thinkpad_acpi won't be loaded automatically without this fix. Signed-off-by: NAdam Lee <adam.lee@canonical.com> Intentatation cleanup. Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 11 2月, 2015 1 次提交
-
-
由 Xavier Naveira 提交于
Pressing Fn+Esc in a Lenovo Thinkpad x240 to lock the Fn keys generates an unhandled hkey event Signed-off-by: NXavier Naveira <xnaveira@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 10 2月, 2015 1 次提交
-
-
由 Azael Avalos 提交于
Some Toshiba laptops do not come with the ECO led installed, however, the driver is registering support for it when it should not. This patch makes the toshiba_eco_mode_available function more robust in detecting ECO led capabilities, not registering the led on laptops that do not support it and registering the led when it really does. The ECO led function now returns 0x8e00 (Not Installed) by querying with in[3] = 0, whenever theres no physical LED installed, and returning 0x8300 (Input Data Error) when it is, however, there are some BIOSes that have stub function calls not returning anything and and the LED device was being registered too, hence the change of the default return value from 1 to 0. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Minor comment update, fixed a whitespace error, s/truly/actual/. Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 08 2月, 2015 2 次提交
-
-
由 Lad, Prabhakar 提交于
Fix the following sparse warning: classmate-laptop.c:523:61: warning: Using plain integer as NULL pointer Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: NThadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Lad, Prabhakar 提交于
Fix the following sparse warning: sony-laptop.c:1035:29: warning: symbol 'sony_bl_props' was not declared. Should it be static? Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 07 2月, 2015 4 次提交
-
-
由 Lad, Prabhakar 提交于
Fix the following sparse warning: thinkpad_acpi.c:3459:11: warning: symbol 'adaptive_keyboard_modes' was not declared. Should it be static? Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Darren Hart 提交于
Replace existing usage of single variable sscanf with kstrtoint for consistency with checkpatch warnings against such usage. Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Lad, Prabhakar 提交于
Fix the following sparse warning: samsung-laptop.c:1365:52: warning: Using plain integer as NULL pointer Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Julijonas Kikutis 提交于
Some Samsung laptops with SABI3 delay the sleep for 10 seconds after the lid is closed and do not wake up from sleep after the lid is opened. A SABI command is needed to enable the better behavior. Command = 0x6e, d0 = 0x81 enables this behavior. Returns d0 = 0x01. Command = 0x6e, d0 = 0x80 disables this behavior. Returns d0 = 0x00. Command = 0x6d and any d0 queries the state. This returns: d0 = 0x00000*01, d1 = 0x00, d2 = 0x00, d3 = 0x0* when it is enabled. d0 = 0x00000*00, d1 = 0x00, d2 = 0x00, d3 = 0x0* when it is disabled. Where * is 0 - laptop has never slept or hibernated after switch on, 1 - laptop has hibernated just before, 2 - laptop has slept just before. Patch addresses bug https://bugzilla.kernel.org/show_bug.cgi?id=75901 . It adds a sysfs attribute lid_handling with a description and also an addition to the quirks structure to enable the mode by default. A user with another laptop in the bug report says that "power button has to be pressed twice to wake the machine" when he or she enabled the mode manually using the SABI command. Therefore, it is enabled by default only for the single laptop that I have tested. Signed-off-by: NJulijonas Kikutis <julijonas.kikutis@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 29 1月, 2015 5 次提交
-
-
由 Azael Avalos 提交于
This was "toshiba_acpi: Change sci_open function return value" Some Toshiba laptops have "poorly implemented" SCI calls on their BIOSes and are not checking for sci_{open, close} calls, therefore, the sci_open function is failing and making some of the supported features unavailable (kbd backlight, touchpad, illumination, etc.). This patch checks whether we receive TOS_NOT_SUPPORTED and returns 1, making the supported features work on such laptops. In the case that some laptops really do not support the SCI, all the SCI dependent functions check for TOS_NOT_SUPPORTED, and thus, not registering support for the queried feature. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Vivien Didelot 提交于
Use DEVICE_ATTR_{RO,WO,RW} macros to simplify sysfs attributes declaration. To declare a "foo" attribute, DEVICE_ATTR_RW() requires foo_show() and foo_store(), so rename a few functions to satisfy this requirement. Also put the macro below each related show/store functions for clarity. Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Andy Shevchenko 提交于
Read the resources from PCI BAR0 instead of using hardcoded values. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Andy Shevchenko 提交于
This is small performance optimization of the busy_loop(). While here, use BIT() macro instead of plain integers when check the status. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Andy Shevchenko 提交于
While here, do couple of amendments: - move platform variable to the function where it's used - define intel_scu_ipc_check_status() static Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 24 1月, 2015 8 次提交
-
-
由 Darren Hart 提交于
This reverts commit 02b2aaaa. This interface was determined to be flawed and required too invasive a fix for the RC cycle. This will be revisited in 3.20. Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Vivien Didelot 提交于
With a Lucid platform, asus_sysfs_is_visible() returned a boolean for ls_switch and ls_level attributes. Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Michael Karcher 提交于
Replace the magic numbers in fujitsu-laptop.c by the appropriate FB_BLANK constants, as indicated by the comment for backlight_properties.power in include/linux/backlight.h. Signed-off-by: NMichael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Acked-by: NJonathan Woithe <jwoithe@just42.net> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Hans de Goede 提交于
Since kernel 3.14 the backlight control has been broken on various Samsung Atom based netbooks. This has been bisected and this problem happens since commit b35684b8 ("drm/i915: do full backlight setup at enable time") This has been reported and discussed in detail here: http://lists.freedesktop.org/archives/intel-gfx/2014-July/049395.html Unfortunately no-one has been able to fix this. This only affects Samsung Atom netbooks, and the Linux kernel and the BIOS of those laptops have never worked well together. All affected laptops already have a quirk to avoid using the standard acpi-video interface and instead use the samsung specific SABI interface which samsung-laptop uses. It seems that recent fixes to the i915 driver have also broken backlight control through the SABI interface. The intel_backlight driver OTOH works fine, and also allows for finer grained backlight control. So add a new use_native_backlight quirk, and replace the broken_acpi_video quirk with this quirk for affected models. This new quirk disables acpi-video as before and also stops samsung-laptop from registering the SABI based samsung_laptop backlight interface, leaving only the working intel_backlight interface. This commit enables this new quirk for 3 models which are known to be affected, chances are that it needs to be used on other models too. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1094948 # N145P BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1115713 # N250P Reported-by: Bertrik Sikken <bertrik@sikken.nl> # N150P Cc: stable@vger.kernel.org # 3.16 Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Newer Toshiba laptops now come with a feature called USB Sleep and Music, where the laptop speakers remain powered and the line-in jack is used to connect an external device to use the laptop speakers when the computer is asleep or turned off. This patchs adds support to such feature, by creating a sysfs entry named "usb_sleep_music", accepting only two values, 0 to disable and 1 to enable. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Newer Toshiba laptops equipped with USB 3.0 ports now have the functionality of rapid charging devices connected to their USB hubs. This patch adds support to use such feature by creating a sysfs entry named "usb_rapid_charge", accepting only two values, 0 to disable and 1 to enable, however, the machine needs a restart everytime the function is toggled. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Toshiba laptops supporting USB Sleep and Charge also come with a feature called "USB functions under battery", which what it does when enabled, is allows the USB Sleep functions when the computer is under battery power. This patch adds support to that function, creating a sysfs entry named "sleep_functions_on_battery", accepting values from 0-100, where zero disables the function and 1-100 sets the battery level at which point the USB Sleep functions will be disabled, and printing the current state of the functon and also the battery level currently set. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Azael Avalos 提交于
Newer Toshiba models now come with a feature called Sleep and Charge, where the computer USB ports remain powered when the computer is asleep or turned off. This patch adds support to such feature, creating a sysfs entry called "usb_sleep_charge" to set the desired charging mode or to disable it. The sysfs entry accepts three parameters, 0, 1 and 2, beign disabled, alternate and auto respectively. The auto mode stands for USB conformant devices (which most are), and the alternate mode stands for those non USB conformant devices that require more power. Signed-off-by: NAzael Avalos <coproscefalo@gmail.com> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 16 12月, 2014 1 次提交
-
-
由 Randy Dunlap 提交于
acerhdf uses thermal interfaces so it should depend on THERMAL. It also should not select a thermal driver without checking that THERMAL is enabled. This fixes the following build errors when THERMAL=m and ACERHDF=y. drivers/built-in.o: In function `acerhdf_set_mode': acerhdf.c:(.text+0x3e02e1): undefined reference to `thermal_zone_device_update' drivers/built-in.o: In function `acerhdf_unbind': acerhdf.c:(.text+0x3e052d): undefined reference to `thermal_zone_unbind_cooling_device' drivers/built-in.o: In function `acerhdf_bind': acerhdf.c:(.text+0x3e0593): undefined reference to `thermal_zone_bind_cooling_device' drivers/built-in.o: In function `acerhdf_init': acerhdf.c:(.init.text+0x1c2f5): undefined reference to `thermal_cooling_device_register' acerhdf.c:(.init.text+0x1c360): undefined reference to `thermal_zone_device_register' drivers/built-in.o: In function `acerhdf_unregister_thermal': acerhdf.c:(.text.unlikely+0x3c67): undefined reference to `thermal_cooling_device_unregister' acerhdf.c:(.text.unlikely+0x3c91): undefined reference to `thermal_zone_device_unregister' Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Acked-by: NPeter Feuerer <peter@piie.net> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
- 04 12月, 2014 3 次提交
-
-
由 Andy Lutomirski 提交于
ThinkPads have hardware volume controls and three buttons to control them. (These are separate from the standard mixer.) By default, the buttons are: - Mute: Mutes the hardware volume control and, on some models, generates KEY_MUTE. - Up: Unmutes, generates KEY_VOLUMEUP, and increases volume if applicable. (Newer thinkpads only have hardware mute/unmute.) - Down: Unmutes, generates KEY_VOLUMEDOWN, and decreases volume if applicable. This behavior is unfortunate, since modern userspace will also handle the hotkeys and change the other mixer. If the software mixer is muted and the hardware mixer is unmuted and you push mute, hilarity ensues as they both switch state. Rather than adding a lot of complex ALSA integration to fix this, just disable the special ThinkPad volume controls when possible. This turns the mute and volume buttons into regular buttons, and standard software controls will work as expected. ALSA already knows about the mute light on models with a mute light, so everything should just work. This should also allow us to remove _OSI(Linux) for all ThinkPads. For future reference: It turns out that we can ask ACPI for one of three behaviors directly on very new models. They are "latch" (the default), "none" (no automatic control), and "toggle" (mute unmutes when muted). All of the modes besides "none" seem to be a bit buggy, though, and there doesn't seem to be a consistent way to get any notification when the HW mute state is changed. Signed-off-by: NAndy Lutomirski <luto@mit.edu> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Peter Feuerer 提交于
* renamed bios_settings_t to bios_settings, as it is no typedef * replaced "unsigned char" by u8 in bios_settings struct for better readability. Cc: platform-driver-x86@vger.kernel.org Cc: Darren Hart <dvhart@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andreas Mohr <andi@lisas.de> Acked-by: NBorislav Petkov <bp@suse.de> Signed-off-by: NPeter Feuerer <peter@piie.net> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-
由 Peter Feuerer 提交于
added critical trip point which represents the temperature limit. Added return -EINVAL in case wrong trip point is provided. Cc: platform-driver-x86@vger.kernel.org Cc: Darren Hart <dvhart@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andreas Mohr <andi@lisas.de> Cc: Borislav Petkov <bp@suse.de> Cc: Javi Merino <javi.merino@arm.com> Signed-off-by: NPeter Feuerer <peter@piie.net> Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
-