aboutsummaryrefslogtreecommitdiff
path: root/drivers/platform/x86
AgeCommit message (Collapse)AuthorFilesLines
2014-09-03toshiba_acpi: fix and cleanup toshiba_kbd_bl_mode_store()Dan Carpenter1-6/+12
The current code just returns -EINVAL because mode can't be equal to both 1 and 2. Also this function is messy so I have cleaned it up: 1) Remove initializers like "int time = -1". Initializing variables to garbage values turns off GCC's uninitialized variable warnings so it can lead to bugs. 2) Use kstrtoint() instead of sscanf(). 3) Use SCI_KBD_MODE_FNZ and SCI_KBD_MODE_AUTO instead of magic numbers 1 and 2. 4) Don't check for "mode == -1" because that can't happen. 5) Preserve the error code from toshiba_kbd_illum_status_set(). Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Darren Hart <[email protected]>
2014-09-02platform/x86: toshiba: re-enable acpi hotkeys after suspend to diskBenjamin Tissoires1-1/+8
On the Toshiba Tecra Z40, after a suspend-to-disk, some FN hotkeys driven by toshiba_acpi are not functional. Calling the ACPI object ENAB on resume makes them back alive. Signed-off-by: Benjamin Tissoires <[email protected]> Acked-by: Matthew Garrett <[email protected]> Signed-off-by: Darren Hart <[email protected]>
2014-09-02ideapad-laptop: Constify DMI table for real!Mathias Krause1-2/+2
This is a follow-up patch to commit 49458e83082d ("ideapad-laptop: Constify DMI table and other r/o variables") to do what its commit message says. The actual commit differs from the patch posted at https://www.mail-archive.com/[email protected]/msg05340.html significantly, probably due to a bad merge conflict resolution. Fix up the mess and constify the DMI table for real and fix the bogus double-const of ideapad_rfk_data[]. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Mathias Krause <[email protected]> Cc: Matthew Garrett <[email protected]> Cc: Ike Panhc <[email protected]> Signed-off-by: Darren Hart <[email protected]>
2014-08-28Revert "ideapad-laptop: Disable touchpad interface on Yoga models"Hans de Goede1-27/+0
I've received a bug report from a user that the touchpad control part of the ideapad-laptop ACPI interface does work for him on his "Lenovo Yoga 2 13", and that this patch causes a regression for him. Since it did not work for me when I had a "Lenovo Yoga 2 11" in my own hands (loaned from a friend). It seems that this is a bit of hit and miss. Since the result of having a false positive here is worse, then the minor annoyance of a false touchpad disabled messages being shown after suspend / resume on models (or is it firmware versions?) where the interface does not work, simply revert the patch. This reverts commit f79a901331a823ae370584b15cd39dd110b95a0a. Reported-by: GOESSEL Guillaume <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Darren Hart <[email protected]>
2014-08-20Revert "platform/x86/toshiba-apci.c possible bad if test?"Matthew Garrett1-1/+1
This reverts commit bdc3ae7221213963f438faeaa69c8b4a2195f491. Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16platform/x86: Enable build support for toshiba_hapsAzael Avalos2-0/+20
Makefile and Kconfig build support patch for the newly introduced kernel module toshiba_haps. Signed-off-by: Azael Avalos <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16platform/x86: Toshiba HDD Active Protection SensorAzael Avalos1-0/+265
This driver adds support for the built-in accelereometer found on recent Toshiba laptops with HID TOS620A. This driver receives ACPI notify events 0x80 when the sensor detects a sudden move or a harsh vibration, as well as an ACPI notify event 0x81 whenever the movement or vibration has been stabilized. Also provides sysfs entries to get/set the desired protection level and reseting the HDD protection interface. Signed-off-by: Azael Avalos <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-nb-wmi: Add wapf4 quirk for the U32UHans de Goede1-0/+14
As reported here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1173681 the U32U needs wapf=4 too. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16alienware-wmi: make hdmi_mux enabled on case-by-case basisMario Limonciello1-2/+20
Not all HW supporting WMAX method will support the HDMI mux feature. Explicitly quirk the HW that does support it. Signed-off-by: Mario Limonciello <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16ideapad-laptop: Constify DMI table and other r/o variablesMathias Krause1-2/+2
Constify the rfkill_blacklist[] DMI table, the ideapad_rfk_data[] table and the ideapad_attribute_group attribute group. There's no need to have them writeable during runtime. Signed-off-by: Mathias Krause <[email protected]> Cc: Ike Panhc <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-nb-wmi.c: Rename x401u quirk to wapf4Hans de Goede1-13/+13
The actual x401u does not use the so named x401u quirk but the x55u quirk. All that the x401u quirk does it setting wapf to 4, so rename it to wapf4 to stop the confusion. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16compal-laptop: correct invalid hwmon nameRoald Frederickx1-1/+1
Change the name of the hwmon interface from "compal-laptop" to "compal". A dash is an invalid character for a hwmon name and caused the call to hwmon_device_register_with_groups() to fail. Signed-off-by: Roald Frederickx <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16toshiba_acpi: Add Qosmio X75-A to the alt keymap dmi listAzael Avalos1-0/+7
The Toshiba Qosmio X75-A series models also come with the new keymap layout. This patch adds this model to the alt_keymap_dmi list, along with an extra key found on these models. Signed-off-by: Azael Avalos <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16toshiba_acpi: Add extra check to backlight codeAzael Avalos1-4/+17
Some Toshiba models (most notably Qosmios) come with an incomplete backlight method where the AML code doesn't check for write or read commands and always returns HCI_SUCCESS and the actual brightness (and in some cases the max brightness), thus allowing the backlight interface to be registered without write support. This patch changes the set_lcd_brightness function, checking the returned values for values greater than zero to avoid registering a broken backlight interface. Signed-off-by: Azael Avalos <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16Fix log message about future removal of interfaceMartin Kepplinger1-3/+3
If this is going away, it won't be in 2012. Signed-off-by: Martin Kepplinger <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16ideapad-laptop: Disable touchpad interface on Yoga modelsHans de Goede1-0/+27
Yoga models don't offer touchpad ctrl through the ideapad interface, causing ideapad_sync_touchpad_state to send wrong touchpad enable/disable events. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-nb-wmi: Add wapf4 quirk for the X550CCHans de Goede1-0/+9
As reported here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1173681 the X550CC needs wapf=4 too. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16intel_ips: Make ips_mcp_limits variables staticMathias Krause1-3/+3
These variables don't need to be visible outside of this compilation unit, make them static. Signed-off-by: Mathias Krause <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16thinkpad_acpi: Mark volume_alsa_control_{vol,mute} as __initdataMathias Krause1-2/+2
Mark volume_alsa_control_vol and volume_alsa_control_mute as __initdata, as snd_ctl_new1() will copy the relevant parts, so there is no need to keep the master copies around after initialization. Signed-off-by: Mathias Krause <[email protected]> Cc: Henrique de Moraes Holschuh <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16fujitsu-laptop: Mark fujitsu_dmi_table[] DMI table as __initconstMathias Krause1-5/+5
The DMI table is only ever used during initialization. Mark it as __initconst so its memory can be released afterwards -- roughly 1.5 kB. In turn, the callback functions can be marked with __init, too. Signed-off-by: Mathias Krause <[email protected]> Cc: Jonathan Woithe <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16hp-wmi: Add missing __init annotations to initialization codeMathias Krause1-3/+3
These functions are only called from other initialization routines, so can be marked __init, too. Signed-off-by: Mathias Krause <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16hp_accel: Constify ACPI and DMI tablesMathias Krause1-2/+2
Constify the lis3lv02d_device_ids[] ACPI and the lis3lv02d_dmi_ids[] DMI tables. There's no need to have them writeable during runtime. Signed-off-by: Mathias Krause <[email protected]> Cc: Eric Piel <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16fujitsu-tablet: Mark DMI callbacks as __init codeMathias Krause1-3/+3
The DMI table is already marked as __initconst, so can be the callback functions as they're only used in that context. Signed-off-by: Mathias Krause <[email protected]> Cc: Robert Gerlach <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16dell-laptop: Mark dell_quirks[] DMI table as __initconstMathias Krause1-3/+3
The dell_quirks[] DMI table is only ever used during initialization. Mark it as __initconst so its memory can be released afterwards -- roughly 5.7 kB. In turn, the callback function can be marked with __init, too. Also the touchpad_led_init() function can be marked __init as it's only referenced from dell_init() -- an __init function. Signed-off-by: Mathias Krause <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16eeepc-wmi: Constify asus_quirks[] DMI tableMathias Krause1-1/+1
Constify the asus_quirks[] DMI table. There's no need to have it writeable during runtime. Signed-off-by: Mathias Krause <[email protected]> Cc: Corentin Chary <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16acer-wmi: Mark init data and code as suchMathias Krause1-20/+21
Quite a lot of code and data of acer-wmi.c is only ever used during initialization. Mark those accordingly -- and constify, where appropriate -- so the memory can be released afterwards. All in all those changes move ~10 kB of code and data to the .init sections, marking them for release after initialization has finished. Signed-off-by: Mathias Krause <[email protected]> Cc: "Lee, Chun-Yi" <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-nb-wmi: Constify asus_quirks[] DMI tableMathias Krause1-1/+1
Constify the asus_quirks[] DMI table. There's no need to have it writeable during runtime. Signed-off-by: Mathias Krause <[email protected]> Cc: Corentin Chary <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16alienware-wmi: Mark DMI table as __initconstMathias Krause1-2/+2
The DMI table is only ever used during initialization. Mark it as __initconst so its memory can be released appropriately. In turn, the callback function can be marked with __init, too. Signed-off-by: Mathias Krause <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16acer-wmi: Hide acer_{suspend,resume} for !CONFIG_PM_SLEEPMathias Krause1-0/+5
Encapsulate acer_suspend() and acer_resume with #ifdef CONFIG_PM_SLEEP to get rid of the following warnings: ../acer-wmi.c:2046:12: warning: ‘acer_suspend’ defined but not used [-Wunused-function] ../acer-wmi.c:2068:12: warning: ‘acer_resume’ defined but not used [-Wunused-function] Signed-off-by: Mathias Krause <[email protected]> Cc: "Lee, Chun-Yi" <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16acer-wmi: Mark acer_wmi_keymap[] as __initconstMathias Krause1-1/+1
sparse_keymap_setup() will make a copy of the keymap, so we can release the master copy after initialization. Signed-off-by: Mathias Krause <[email protected]> Cc: "Lee, Chun-Yi" <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16WMI: Remove unnecessary null testHimangi Saraogi1-4/+0
This patch removes the null test on block. block is initialized at the beginning of the function to &wblock->gblock. Since wblock is dereferenced prior to the null test, wblock must be a valid pointer, and &wblock->gblock cannot be null. The following Coccinelle script is used for detecting the change: @r@ expression e,f; identifier g,y; statement S1,S2; @@ *e = &f->g <+... f->y ...+> *if (e != NULL || ...) S1 else S2 Signed-off-by: Himangi Saraogi <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16drivers/platform/x86/thinkpad_acpi.c: don't test unsigned int for negativityAndrey Utkin1-1/+1
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80231 Reported-by: David Binderman <[email protected]> Signed-off-by: Andrey Utkin <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-nb-wmi: Add wapf4 quirk for the X550CLHans de Goede1-0/+9
As reported here: https://bugs.launchpad.net/bugs/1277959 the X550CL needs wapf=4 too. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-nb-wmi: Add ASUSTeK COMPUTER INC. X200CAAceLan Kao1-0/+13
BIOS won't light on the wifi-led after S3, so asus-wmi driver needs to control the wifi and wifi-led status. But, it'll lead to bt status error if asus-wmi driver controls bt as well. So, for X200CA, asus-wmi driver controls wifi status only and have to set wapf to 1. Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-wmi: control wlan-led if wapf > 0AceLan Kao1-2/+2
Wifi will be controlled by asus-wmi driver when wapf > 0 So, controls the wifi-led when wapf > 0 Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-wmi: backlight_init: Stop treating -ENODEV as if its not an errorHans de Goede1-4/+1
When bl_power support got added to asus-wmi, the error handling for it was written to ignore -ENODEV, to avoid not registering a backlight interface for models which have no bl_power control, but do have brightness control. At the same time the error handling for brightness_max was modified to do the same, this is wrong, when there is no brightness_max asus-wmi should not register a backlight interface. Note the caller of asus_wmi_backlight_init already special cases -ENODEV, and will not cause the wmi driver regristration to fail because of a -ENODEV return from asus_wmi_backlight_init. https://bugzilla.redhat.com/show_bug.cgi?id=1097436 Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16asus-wmi: Disable acpi-video backlight on desktop machinesHans de Goede1-0/+7
Some Asus motherboards for desktop PC-s export an acpi-video interface advertising backlight support. Test the dmi chassis-type and tell acpi-video to not register a backlight interface on desktops. https://bugzilla.redhat.com/show_bug.cgi?id=1097436 Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16ideapad-laptop: Change Lenovo Yoga 2 series rfkill handlingHans de Goede1-14/+27
It seems that the same problems which lead to adding an rfkill blacklist and putting the Lenovo Yoga 2 11 on it are also present on the Lenovo Yoga 2 13 and Lenovo Yoga 2 Pro too: https://bugzilla.redhat.com/show_bug.cgi?id=1021036 https://forums.lenovo.com/t5/Linux-Discussion/Yoga-2-13-not-Pro-Linux-Warning/m-p/1517612 Testing has shown that the firmware rfkill settings are persistent over reboots. So blacklisting the driver is not good enough, if the wifi is blocked at the firmware level the wifi needs to be explictly unblocked through the ideapad-laptop interface. And at least on the Lenovo Yoga 2 13 the VPCCMD_RF register which on devices with hardware kill switch reports the hardware switch state, needs to be explictly set to 1 (radio enabled / not blocked). So this patch does 3 things to get proper rfkill handling on these models: 1) Instead of blacklisting the rfkill functionality, which means that people with a firmware blocked wifi get stuck in that situation, ignore the value reported by the not present hardware rfkill switch, as this is what is causing ideapad-laptop to wrongly report all radios as hardware blocks. But do register the rfkill interfaces so that the user can soft [un]block them. 2) On models without a hardware rfkill switch, explictly set VPCCMD_RF to 1 3) Drop the " 11" postfix from the dmi match string, as the entire Yoga 2 series is affected. Yoga 2 11: Reported-and-tested-by: Vincent Gerris <[email protected]> Yoga 2 13: Tested-by: madls05 <http://ubuntuforums.org/showthread.php?t=2215044> Yoga 2 Pro: Reported-and-tested-by: Peter F. Patel-Schneider <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16thinkpad_acpi: Update mapping for F12 hotkey on *40 models to KEY_FILEHans de Goede1-1/+1
The new keyboard found on the *40 models is also being sold as a standalone keyboard (with trackpoint): http://shop.lenovo.com/us/en/itemdetails/0B47189/460/60AC6A0372B14F5BA7B12F1FF88E33C7 This uses a standard HUT code for the F12 key with the 6 square boxes on it, which gets mapped to KEY_FILE by the kernel. Change the mapping done of identical laptop key done by thinkpad_acpi to also send KEY_FILE for consistency. Cc: Jamie Lentin <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16eeepc-laptop: rename _set and _get arguments in macroPaul Bolle1-4/+4
The _set and _get arguments to the EEEPC_CREATE_SENSOR_ATTR() macro are confusingly named: _set should be _get and vice versa. Rename these arguments. Drop the trailing semicolon from that macro, while we're at it. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16fujitsu-laptop: Clear build warningsJean Delvare1-5/+4
When CONFIG_FUJITSU_LAPTOP_DEBUG is disabled and W=1, the fujitsu-laptop driver builds with the following warnings: drivers/platform/x86/fujitsu-laptop.c: In function "bl_update_status": drivers/platform/x86/fujitsu-laptop.c:409:8: warning: suggest braces around empty body in an "if" statement [-Wempty-body] ret); ^ drivers/platform/x86/fujitsu-laptop.c:418:8: warning: suggest braces around empty body in an "if" statement [-Wempty-body] ret); ^ Rework the debug printk helper macro to get rid of these. I verified that this change has no effect on the generated binary, both in the debug and non-debug case. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Jonathan Woithe <[email protected]> Cc: Matthew Garrett <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16platform/x86/toshiba-apci.c possible bad if test?Nick1-1/+1
Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16sony-laptop: fix doesn't work lid resume settings on Vaio Promog4221-1/+1
Signed-off-by: mog422 <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-16WAPF 4 for ASUSTeK COMPUTER INC. X75VBP WLAN ON.poma1-0/+9
The 'asus-nb-wmi' WAPF parameter must be set to 4, so the internal Wireless LAN device is operational. Signed-off-by: poma <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-08-12PCI: Remove DEFINE_PCI_DEVICE_TABLE macro useBenoit Taine2-2/+2
We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to meet kernel coding style guidelines. This issue was reported by checkpatch. A simplified version of the semantic patch that makes this change is as follows (http://coccinelle.lip6.fr/): // <smpl> @@ identifier i; declarer name DEFINE_PCI_DEVICE_TABLE; initializer z; @@ - DEFINE_PCI_DEVICE_TABLE(i) + const struct pci_device_id i[] = z; // </smpl> [bhelgaas: add semantic patch] Signed-off-by: Benoit Taine <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]>
2014-06-23backlight: Remove trivial get_brightness implementationsAndrzej Hajda1-6/+0
Since backlight core returns props.brightness in case get_brightness is not implemented trivial implementations are not needed anymore. Acked-by: Jingoo Han <[email protected]> Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-06-10hp-wmi: Enable hotkeys on some systemsKyle Evans1-0/+18
This is a third attempt to enable these buttons. The new variable being commit 997daa1bd9aca412ab97955a35b26c460c0ec7a4 (i.e. hp-wmi: detect "2009 BIOS or later"). Older systems that do not have the 2009 BIOS query method respond with a dummy value, in this case 4. Using that, we can target a fairly narrow group of systems. i.e. old enough to not have HPWMI_FEATURE_QUERY 0xd, but new enough to have HPWMI_BIOS_QUERY 0x9. This group may be further limited if some systems respond with something other than 4 to non-existant feature queries. Signed-off-by: Kyle Evans <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-06-10thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540Hans de Goede1-1/+3
The T440s user guide says that when Fn-lock is not active, the *40s' F9 - F12 keys should be mapped to: control-panel, search, show-all-windows and Computer. These keys generate the sofar unused 28 - 31 hotkey scancodes. For the first 2 this nicely matches the icons on the keys, for the latter 2 the icons are somewhat creative, which is why I ended up looking them up in the user manual. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-06-10platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI ↵Pali Rohár3-0/+244
SMO8800/SMO8810) This acpi driver provide supports for freefall sensors SMO8800/SMO8810 which can be found on Dell Latitude laptops. Driver register /dev/freefall misc device which has same interface as driver hp_accel freefall driver. So any existing applications for HP freefall sensor /dev/freefall will work for with this new driver for Dell Latitude laptops too. Signed-off-by: Pali Rohár <[email protected]> Cc: Sonal Santan <[email protected]> Tested-By: Valdis Kletnieks <[email protected]> Acked-By: Valdis Kletnieks <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2014-06-10ideapad_laptop: Introduce the use of the managed version of kzallocHimangi Saraogi1-5/+3
This patch moves data allocated using kzalloc to managed data allocated using devm_kzalloc and cleans now unnecessary kfrees in probe and remove functions. The label sysfs_failed is removed as it is no longer required. Also, linux/device.h is added to make sure the devm_*() routine declarations are unambiguously available. The following Coccinelle semantic patch was used for making the change: @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e, e1, e2; @@ probefn(struct platform_device *pdev, ...) { <+... - e = kzalloc(e1, e2) + e = devm_kzalloc(&pdev->dev, e1, e2) ... ?-kfree(e); ...+> } @rem depends on prb@ identifier platform.removefn; expression e; @@ removefn(...) { <... - kfree(e); ...> } Signed-off-by: Himangi Saraogi <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>