lib: crc_ccitt_false() is identical to crc_itu_t()crc_ccitt_false() was introduced in commit 0d85adb5fbd33 ("lib/crc-ccitt:Add CCITT-FALSE CRC16 variant"), but it is redundant with crc_itu_t(). S
lib: crc_ccitt_false() is identical to crc_itu_t()crc_ccitt_false() was introduced in commit 0d85adb5fbd33 ("lib/crc-ccitt:Add CCITT-FALSE CRC16 variant"), but it is redundant with crc_itu_t(). Since the latter is more used, it is the one being kept.Link: https://lkml.kernel.org/r/20231219131154.748577-1-Mathis.Marion@silabs.comSigned-off-by: Mathis Marion <mathis.marion@silabs.com>Cc: Andrey Smirnov <andrew.smirnov@gmail.com>Cc: Andrey Vostrikov <andrey.vostrikov@cogentembedded.com>Cc: Jérôme Pouiller <jerome.pouiller@silabs.com>Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
show more ...
Merge tag 'docs-6.3' of git://git.lwn.net/linuxPull documentation updates from Jonathan Corbet: "It has been a moderately calm cycle for documentation; the significant changes include: - Som
Merge tag 'docs-6.3' of git://git.lwn.net/linuxPull documentation updates from Jonathan Corbet: "It has been a moderately calm cycle for documentation; the significant changes include: - Some significant additions to the memory-management documentation - Some improvements to navigation in the HTML-rendered docs - More Spanish and Chinese translations ... and the usual set of typo fixes and such"* tag 'docs-6.3' of git://git.lwn.net/linux: (68 commits) Documentation/watchdog/hpwdt: Fix Format Documentation/watchdog/hpwdt: Fix Reference Documentation: core-api: padata: correct spelling docs/mm: Physical Memory: correct spelling in reference to CONFIG_PAGE_EXTENSION docs: Use HTML comments for the kernel-toc SPDX line docs: Add more information to the HTML sidebar Documentation: KVM: Update AMD memory encryption link printk: Document that CONFIG_BOOT_PRINTK_DELAY required for boot_delay= Documentation: userspace-api: correct spelling Documentation: sparc: correct spelling Documentation: driver-api: correct spelling Documentation: admin-guide: correct spelling docs: add workload-tracing document to admin-guide docs/admin-guide/mm: remove useless markup docs/mm: remove useless markup docs/mm: Physical Memory: remove useless markup docs/sp_SP: Add process magic-number translation docs: ftrace: always use canonical ftrace path Doc/damon: fix the data path error dma-buf: Add "dma-buf" to title of documentation ...
platform/surface: aggregator: Rename top-level request functions to avoid ambiguitiesWe currently have a struct ssam_request_sync and a functionssam_request_sync(). While this is valid C, there ar
platform/surface: aggregator: Rename top-level request functions to avoid ambiguitiesWe currently have a struct ssam_request_sync and a functionssam_request_sync(). While this is valid C, there are some downsides toit.One of these is that current Sphinx versions (>= 3.0) cannotdisambiguate between the two (see disucssion and pull request linkedbelow). It instead emits a "WARNING: Duplicate C declaration" and linksfor the struct and function in the resulting documentation link to thesame entry (i.e. both to either function or struct documentation)instead of their respective own entries.While we could just ignore that and wait for a fix, there's also a pointto be made that the current naming can be somewhat confusing whensearching (e.g. via grep) or trying to understand the levels ofabstraction at play:We currently have struct ssam_request_sync and associated functionsssam_request_sync_[alloc|free|init|wait|...]() operating on this struct.However, function ssam_request_sync() is one abstraction level abovethis. Similarly, ssam_request_sync_with_buffer() is not a functionoperating on struct ssam_request_sync, but rather a sibling tossam_request_sync(), both using the struct under the hood.Therefore, rename the top level request functions: ssam_request_sync() -> ssam_request_do_sync() ssam_request_sync_with_buffer() -> ssam_request_do_sync_with_buffer() ssam_request_sync_onstack() -> ssam_request_do_sync_onstack()Link: https://lore.kernel.org/all/085e0ada65c11da9303d07e70c510dc45f21315b.1656756450.git.mchehab@kernel.org/Link: https://github.com/sphinx-doc/sphinx/pull/8313Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Link: https://lore.kernel.org/r/20221220175608.1436273-2-luzmaximilian@gmail.comReviewed-by: Hans de Goede <hdegoede@redhat.com>Signed-off-by: Hans de Goede <hdegoede@redhat.com>
platform/surface: aggregator: Improve documentation and handling of message target and source IDsThe `tid_in` and `tid_out` fields of the serial hub protocol commandstruct (struct ssh_command) are
platform/surface: aggregator: Improve documentation and handling of message target and source IDsThe `tid_in` and `tid_out` fields of the serial hub protocol commandstruct (struct ssh_command) are actually source and target IDs,indicating the peer from which the message originated and the peer forwhich it is intended.Change the naming of those fields accordingly and improve the protocoldocumentation. Additionally, introduce an enum containing all currentlyknown peers, i.e. targets and sources.Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Link: https://lore.kernel.org/r/20221202223327.690880-3-luzmaximilian@gmail.comReviewed-by: Hans de Goede <hdegoede@redhat.com>Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Documentation: driver-api: correct spellingCorrect spelling problems for Documentation/driver-api/ as reportedby codespell.Signed-off-by: Randy Dunlap <rdunlap@infradead.org>Cc: Mauro Carvalho
Documentation: driver-api: correct spellingCorrect spelling problems for Documentation/driver-api/ as reportedby codespell.Signed-off-by: Randy Dunlap <rdunlap@infradead.org>Cc: Mauro Carvalho Chehab <mchehab@kernel.org>Cc: linux-media@vger.kernel.orgCc: Vishal Verma <vishal.l.verma@intel.com>Cc: Dave Jiang <dave.jiang@intel.com>Cc: nvdimm@lists.linux.devCc: Vinod Koul <vkoul@kernel.org>Cc: dmaengine@vger.kernel.orgCc: linux-raid@vger.kernel.orgCc: linux-usb@vger.kernel.orgAcked-by: Dan Williams <dan.j.williams@intel.com>Acked-by: Song Liu <song@kernel.org>Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>Link: https://lore.kernel.org/r/20230129231053.20863-3-rdunlap@infradead.orgSigned-off-by: Jonathan Corbet <corbet@lwn.net>
platform/surface: aggregator: Allow notifiers to avoid communication on unregisteringWhen SSAM client devices have been (physically) hot-removed,communication attempts with those devices may fail
platform/surface: aggregator: Allow notifiers to avoid communication on unregisteringWhen SSAM client devices have been (physically) hot-removed,communication attempts with those devices may fail and time out. Thiscan even extend to event notifiers, due to which timeouts may occurduring device removal, slowing down that process.Add a parameter to the notifier unregister function that allows skippingcommunication with the EC to prevent this. Furthermore, add wrappers forregistering and unregistering notifiers belonging to SSAM client devicesthat automatically check if the device has been marked as hot-removedand communication should be avoided.Note that non-SSAM client devices can generally not be hot-removed, soalso add a convenience wrapper for those, defaulting to allowcommunication.Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Link: https://lore.kernel.org/r/20220527023447.2460025-4-luzmaximilian@gmail.comReviewed-by: Hans de Goede <hdegoede@redhat.com>Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Merge tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86Pull x86 platform driver updates from Hans de Goede: "Highlights: - New thin
Merge tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86Pull x86 platform driver updates from Hans de Goede: "Highlights: - New think-lmi driver adding support for changing Lenovo Thinkpad BIOS settings from within Linux using the standard firmware- attributes class sysfs API - MS Surface aggregator-cdev now also supports forwarding events to user-space (for debugging / new driver development purposes only) - New intel_skl_int3472 driver this provides the necessary glue to translate ACPI table information to GPIOs, regulators, etc. for camera sensors on Intel devices with IPU3 attached MIPI cameras - A whole bunch of other fixes + device-specific quirk additions - New devm_work_autocancel() devm-helpers.h function"* tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (83 commits) platform/x86: dell-wmi-sysman: Change user experience when Admin/System Password is modified platform/x86: intel_skl_int3472: Uninitialized variable in skl_int3472_handle_gpio_resources() platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release() platform/x86: think-lmi: Split current_value to reflect only the value platform/x86: think-lmi: Fix issues with duplicate attributes platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string platform/x86: intel_cht_int33fe: Move to its own subfolder platform/x86: intel_skl_int3472: Move to intel/ subfolder platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_clock() platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_regulator() platform/x86: intel_skl_int3472: Use ACPI GPIO resource directly platform/x86: intel_skl_int3472: Fix dependencies (drop CLKDEV_LOOKUP) platform/x86: intel_skl_int3472: Free ACPI device resources after use platform/x86: Remove "default n" entries platform/x86: ISST: Use numa node id for cpu pci dev mapping platform/x86: ISST: Optimize CPU to PCI device mapping tools/power/x86/intel-speed-select: v1.10 release tools/power/x86/intel-speed-select: Fix uncore memory frequency display extcon: extcon-max8997: Simplify driver using devm extcon: extcon-max8997: Fix IRQ freeing at error path ...
docs: driver-api: surface_aggregator: avoid using ReST :doc:`foo` markupThe :doc:`foo` tag is auto-generated via automarkup.py.So, use the filename at the sources, instead of :doc:`foo`.Acked-by
docs: driver-api: surface_aggregator: avoid using ReST :doc:`foo` markupThe :doc:`foo` tag is auto-generated via automarkup.py.So, use the filename at the sources, instead of :doc:`foo`.Acked-by: Maximilian Luz <luzmaximilian@gmail.com>Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>Link: https://lore.kernel.org/r/6097027b4de4c9015485cb73b297b98660c4296d.1623824363.git.mchehab+huawei@kernel.orgSigned-off-by: Jonathan Corbet <corbet@lwn.net>
docs: driver-api: Update Surface Aggregator user-space interface documentationUpdate the controller-device user-space interface (cdev) documentationfor the newly introduced IOCTLs and event interf
docs: driver-api: Update Surface Aggregator user-space interface documentationUpdate the controller-device user-space interface (cdev) documentationfor the newly introduced IOCTLs and event interface.Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Reviewed-by: Hans de Goede <hdegoede@redhat.com>Link: https://lore.kernel.org/r/20210604134755.535590-8-luzmaximilian@gmail.comSigned-off-by: Hans de Goede <hdegoede@redhat.com>
docs: driver-api: Add Surface DTX driver documentationAdd documentation for the user-space interface of the Surface DTX(detachment system) driver, used on Microsoft Surface Book seriesdevices.S
docs: driver-api: Add Surface DTX driver documentationAdd documentation for the user-space interface of the Surface DTX(detachment system) driver, used on Microsoft Surface Book seriesdevices.Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Link: https://lore.kernel.org/r/20210308184819.437438-4-luzmaximilian@gmail.comSigned-off-by: Hans de Goede <hdegoede@redhat.com>
platform/surface: aggregator: Make SSAM_DEFINE_SYNC_REQUEST_x define static functionsThe SSAM_DEFINE_SYNC_REQUEST_x() macros are intended to reduceboiler-plate code for SSAM request definitions by
platform/surface: aggregator: Make SSAM_DEFINE_SYNC_REQUEST_x define static functionsThe SSAM_DEFINE_SYNC_REQUEST_x() macros are intended to reduceboiler-plate code for SSAM request definitions by defining a wrapperfunction for the specified request. The client device variants of thosemacros, i.e. SSAM_DEFINE_SYNC_REQUEST_CL_x() in particular rely on themulti-device (MD) variants, e.g.: #define SSAM_DEFINE_SYNC_REQUEST_CL_R(name, rtype, spec...) \ SSAM_DEFINE_SYNC_REQUEST_MD_R(__raw_##name, rtype, spec) \ int name(struct ssam_device *sdev, rtype *ret) \ { \ return __raw_##name(sdev->ctrl, sdev->uid.target, \ sdev->uid.instance, ret); \ }This now creates the problem that it is not possible to declare thegenerated functions static via static SSAM_DEFINE_SYNC_REQUEST_CL_R(...)as this will only apply to the function defined by the multi-devicemacro, i.e. SSAM_DEFINE_SYNC_REQUEST_MD_R(). Thus compiling with`-Wmissing-prototypes' rightfully complains that there is a 'static'keyword missing.To solve this, make all SSAM_DEFINE_SYNC_REQUEST_x() macros definestatic functions. Non-client-device macros are also changed forconsistency. In general, we expect those functions to be only usedlocally in the respective drivers for the corresponding interfaces, sohaving to define a wrapper function to be able to export this should bethe odd case out.Reported-by: kernel test robot <lkp@intel.com>Fixes: b78b4982d763 ("platform/surface: Add platform profile driver")Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Link: https://lore.kernel.org/r/20210304190524.1172197-1-luzmaximilian@gmail.comSigned-off-by: Hans de Goede <hdegoede@redhat.com>
platform/surface: Add Surface ACPI Notify driverThe Surface ACPI Notify (SAN) device provides an ACPI interface to theSurface Aggregator EC, specifically the Surface Serial Hub interface.This int
platform/surface: Add Surface ACPI Notify driverThe Surface ACPI Notify (SAN) device provides an ACPI interface to theSurface Aggregator EC, specifically the Surface Serial Hub interface.This interface allows EC requests to be made from ACPI code and canconvert a subset of EC events back to ACPI notifications.Specifically, this interface provides a GenericSerialBus operationregion ACPI code can execute a request by writing the request commanddata and payload to this operation region and reading back thecorresponding response via a write-then-read operation. Furthermore,this interface provides a _DSM method to be called when certain eventsfrom the EC have been received, essentially turning them into ACPInotifications.The driver provided in this commit essentially takes care of translatingthe request data written to the operation region, executing the request,waiting for it to finish, and finally writing and translating back theresponse (if the request has one). Furthermore, this driver takes careof enabling the events handled via ACPI _DSM calls. Lastly, this driveralso exposes an interface providing discrete GPU (dGPU) power-onnotifications on the Surface Book 2, which are also received via theoperation region interface (but not handled by the SAN driver directly),making them accessible to other drivers (such as a dGPU hot-plug driverthat may be added later on).On 5th and 6th generation Surface devices (Surface Pro 5/2017, Pro 6,Book 2, Laptop 1 and 2), the SAN interface provides full battery andthermal subsystem access, as well as other EC based functionality. Onthose models, battery and thermal sensor devices are implemented asstandard ACPI devices of that type, however, forward ACPI calls to thecorresponding Surface Aggregator EC request via the SAN interface andreceive corresponding notifications (e.g. battery information change)from it. This interface is therefore required to provide saidfunctionality on those devices.Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Reviewed-by: Hans de Goede <hdegoede@redhat.com>Link: https://lore.kernel.org/r/20201221183959.1186143-10-luzmaximilian@gmail.comSigned-off-by: Hans de Goede <hdegoede@redhat.com>
platform/surface: Add Surface Aggregator user-space interfaceAdd a misc-device providing user-space access to the Surface AggregatorEC, mainly intended for debugging, testing, and reverse-engineer
platform/surface: Add Surface Aggregator user-space interfaceAdd a misc-device providing user-space access to the Surface AggregatorEC, mainly intended for debugging, testing, and reverse-engineering.This interface gives user-space applications the ability to sendrequests to the EC and receive the corresponding responses.The device-file is managed by a pseudo platform-device and correspondingdriver to avoid dependence on the dedicated bus, allowing it to beloaded in a minimal configuration.A python library and scripts to access this device can be found at [1].[1]: https://github.com/linux-surface/surface-aggregator-module/tree/master/scripts/ssamSigned-off-by: Maximilian Luz <luzmaximilian@gmail.com>Link: https://lore.kernel.org/r/20201221183959.1186143-9-luzmaximilian@gmail.comSigned-off-by: Hans de Goede <hdegoede@redhat.com>
docs: driver-api: Add Surface Aggregator subsystem documentationAdd documentation for the Surface Aggregator subsystem and its clientdrivers, giving an overview of the subsystem, its use-cases, it
docs: driver-api: Add Surface Aggregator subsystem documentationAdd documentation for the Surface Aggregator subsystem and its clientdrivers, giving an overview of the subsystem, its use-cases, itsinternal structure and internal API, as well as its external API forwriting client drivers.Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>Reviewed-by: Hans de Goede <hdegoede@redhat.com>Link: https://lore.kernel.org/r/20201221183959.1186143-8-luzmaximilian@gmail.comSigned-off-by: Hans de Goede <hdegoede@redhat.com>