<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/platform/x86/dell, branch linus/master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/platform/x86/dell?h=linus%2Fmaster</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/platform/x86/dell?h=linus%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-04-27T19:45:28Z</updated>
<entry>
<title>platform/x86/dell: add buffer allocation/free functions for SMI calls</title>
<updated>2022-04-27T19:45:28Z</updated>
<author>
<name>Juergen Gross</name>
<email>jgross@suse.com</email>
</author>
<published>2022-03-18T15:09:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=77089467fc799e2c24cb4067b013db9b7664f5ed'/>
<id>urn:sha1:77089467fc799e2c24cb4067b013db9b7664f5ed</id>
<content type='text'>
The dcdbas driver is used to call SMI handlers for both, dcdbas and
dell-smbios-smm. Both drivers allocate a buffer for communicating
with the SMI handler. The physical buffer address is then passed to
the called SMI handler via %ebx.

Unfortunately this doesn't work when running in Xen dom0, as the
physical address obtained via virt_to_phys() is only a guest physical
address, and not a machine physical address as needed by SMI.

The problem in dcdbas is easy to correct, as dcdbas is using
dma_alloc_coherent() for allocating the buffer, and the machine
physical address is available via the DMA address returned in the DMA
handle.

In order to avoid duplicating the buffer allocation code in
dell-smbios-smm, add a generic buffer allocation function to dcdbas
and use it for both drivers. This is especially fine regarding driver
dependencies, as dell-smbios-smm is already calling dcdbas to generate
the SMI request.

Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Link: https://lore.kernel.org/r/20220318150950.16843-1-jgross@suse.com
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/x86: dell-laptop: Add quirk entry for Latitude 7520</title>
<updated>2022-04-27T14:50:13Z</updated>
<author>
<name>Gabriele Mazzotta</name>
<email>gabriele.mzt@gmail.com</email>
</author>
<published>2022-04-26T12:08:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=24ba808a1fffdb136f5e9d418cf1fbe684041fa4'/>
<id>urn:sha1:24ba808a1fffdb136f5e9d418cf1fbe684041fa4</id>
<content type='text'>
The Latitude 7520 supports AC timeouts, but it has no KBD_LED_AC_TOKEN
and so changes to stop_timeout appear to have no effect if the laptop
is plugged in.

Signed-off-by: Gabriele Mazzotta &lt;gabriele.mzt@gmail.com&gt;
Acked-by: Pali Rohár &lt;pali@kernel.org&gt;
Link: https://lore.kernel.org/r/20220426120827.12363-1-gabriele.mzt@gmail.com
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/dcdbas: move EXPORT_SYMBOL after function</title>
<updated>2022-02-17T14:53:57Z</updated>
<author>
<name>Mateusz Jończyk</name>
<email>mat.jonczyk@o2.pl</email>
</author>
<published>2022-02-12T12:59:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=42f8bcb37e2c65931799cdf61d086ed78456e798'/>
<id>urn:sha1:42f8bcb37e2c65931799cdf61d086ed78456e798</id>
<content type='text'>
The declaration
        EXPORT_SYMBOL(dcdbas_smi_request);
was placed after smi_request_store(), which made a false impression that
dcdbas_smi_request() was not exported.

Signed-off-by: Mateusz Jończyk &lt;mat.jonczyk@o2.pl&gt;
Cc: Stuart Hayes &lt;stuart.w.hayes@gmail.com&gt;
Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Mark Gross &lt;markgross@kernel.org&gt;
Link: https://lore.kernel.org/r/20220212125908.357588-1-mat.jonczyk@o2.pl
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/x86: dell-wmi-descriptor: disable by default</title>
<updated>2021-11-16T09:56:53Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2021-11-13T08:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=0f07c023dcd08ca49b6d3dd018abc7cd56301478'/>
<id>urn:sha1:0f07c023dcd08ca49b6d3dd018abc7cd56301478</id>
<content type='text'>
dell-wmi-descriptor only provides symbols to other drivers.
These drivers already select dell-wmi-descriptor when needed.

This fixes an issue where dell-wmi-descriptor is compiled as a module
with localyesconfig on a non-Dell machine.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Link: https://lore.kernel.org/r/20211113080551.61860-1-linux@weissschuh.net
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/x86: dell: Make DELL_WMI_PRIVACY depend on DELL_WMI</title>
<updated>2021-10-11T13:25:05Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2021-10-11T13:23:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=6550ba689343811ef1d4b87be8d273988d4648d5'/>
<id>urn:sha1:6550ba689343811ef1d4b87be8d273988d4648d5</id>
<content type='text'>
DELL_WMI_PRIVACY is a feature toggle for the main dell-wmi driver,
so it must depend on the Kconfig option which enables the main
dell-wmi driver.

Fixes: 8af9fa37b8a3 ("platform/x86: dell-privacy: Add support for Dell hardware privacy")
Reported-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Link: https://lore.kernel.org/r/20211011132338.407571-1-hdegoede@redhat.com
</content>
</entry>
<entry>
<title>platform/x86: dell-wmi: Recognise or support new switches</title>
<updated>2021-09-21T13:21:06Z</updated>
<author>
<name>Troy Rollo</name>
<email>linux2021@troy.rollo.name</email>
</author>
<published>2021-09-18T07:31:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=5fbd827eb9c224c33a5f263ee543a75fe957faa3'/>
<id>urn:sha1:5fbd827eb9c224c33a5f263ee543a75fe957faa3</id>
<content type='text'>
Adds support for:

- Dell Inspiron 2in1 tablet mode switch notifications. These are
  delivered by a type 0x0011 message with code 0xe070, followed by a
  flag (1 for laptop mode, 0 for tablet mode).

- Recognising (but not otherwise processing) the Dell Ultra Performance
  mode request switch. This is delivered by a type 0x0012 message with
  code 0x000d, followed by a parameter that is either 1 or 2. It is
  not clear what (if anything) should be done with this notification, so
  it is ignored.

Signed-off-by: Troy Rollo &lt;linux2021@troy.rollo.name&gt;
Link: https://lore.kernel.org/r/20210918073131.2966942-1-linux2021@troy.rollo.name
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/x86: dell: fix DELL_WMI_PRIVACY dependencies &amp; build error</title>
<updated>2021-09-21T12:52:09Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2021-09-18T04:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d24236cb7cf2319d47fac2bed458b6d4eae76b24'/>
<id>urn:sha1:d24236cb7cf2319d47fac2bed458b6d4eae76b24</id>
<content type='text'>
When DELL_WMI=y, DELL_WMI_PRIVACY=y, and LEDS_TRIGGER_AUDIO=m, there
is a linker error since the LEDS trigger code is built as a loadable
module. This happens because DELL_WMI_PRIVACY is a bool that depends
on a tristate (LEDS_TRIGGER_AUDIO=m), which can be dangerous.

ld: drivers/platform/x86/dell/dell-wmi-privacy.o: in function `dell_privacy_wmi_probe':
dell-wmi-privacy.c:(.text+0x3df): undefined reference to `ledtrig_audio_get'

Fixes: 8af9fa37b8a3 ("platform/x86: dell-privacy: Add support for Dell hardware privacy")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Cc: Perry Yuan &lt;Perry.Yuan@dell.com&gt;
Cc: Dell.Client.Kernel@dell.com
Cc: platform-driver-x86@vger.kernel.org
Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Mark Gross &lt;mgross@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20210918044829.19222-1-rdunlap@infradead.org
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call</title>
<updated>2021-08-26T14:09:43Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2021-08-26T14:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=0487d4fc42d7f31a56cfd9e2237f9ebd889e6112'/>
<id>urn:sha1:0487d4fc42d7f31a56cfd9e2237f9ebd889e6112</id>
<content type='text'>
As pointed out be Kees Cook if we return -EIO because the
obj-&gt;type != ACPI_TYPE_BUFFER, then we must kfree the
output buffer before the return.

Fixes: 1a258e670434 ("platform/x86: dell-smbios-wmi: Add new WMI dispatcher driver")
Reported-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Link: https://lore.kernel.org/r/20210826140822.71198-1-hdegoede@redhat.com
</content>
</entry>
<entry>
<title>platform/x86: dell-smbios-wmi: Avoid false-positive memcpy() warning</title>
<updated>2021-08-26T13:53:38Z</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2021-08-25T16:07:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=fb49d9946f96081f9a05d8f305b3f40285afe4a9'/>
<id>urn:sha1:fb49d9946f96081f9a05d8f305b3f40285afe4a9</id>
<content type='text'>
In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally writing across neighboring fields.

Since all the size checking has already happened, use input.pointer
(void *) so memcpy() doesn't get confused about how much is being
written.

Avoids this false-positive warning when run-time memcpy() strict
bounds checking is enabled:

memcpy: detected field-spanning write (size 4096) of single field (size 36)
WARNING: CPU: 0 PID: 357 at drivers/platform/x86/dell/dell-smbios-wmi.c:74 run_smbios_call+0x110/0x1e0 [dell_smbios]

Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Mark Gross &lt;mgross@linux.intel.com&gt;
Cc: Mario Limonciello &lt;mario.limonciello@dell.com&gt;
Cc: "Pali Rohár" &lt;pali@kernel.org&gt;
Cc: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Cc: "Uwe Kleine-König" &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: Dell.Client.Kernel@dell.com
Cc: platform-driver-x86@vger.kernel.org
Reported-by: Andy Lavr &lt;andy.lavr@gmail.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Link: https://lore.kernel.org/r/20210825160749.3891090-1-keescook@chromium.org
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
<entry>
<title>platform/x86: dell-smo8800: Convert to be a platform driver</title>
<updated>2021-08-12T07:26:28Z</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2021-08-03T19:40:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=bc6b8d7eec4fecb11634bc4256b4b79d0fe617e9'/>
<id>urn:sha1:bc6b8d7eec4fecb11634bc4256b4b79d0fe617e9</id>
<content type='text'>
ACPI core in conjunction with platform driver core provides
an infrastructure to enumerate ACPI devices. Use it in order
to remove a lot of boilerplate code.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Reviewed-by: Pali Rohár &lt;pali@kernel.org&gt;
Tested-by: Pali Rohár &lt;pali@kernel.org&gt;
Link: https://lore.kernel.org/r/20210803194039.35083-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
</content>
</entry>
</feed>
