11 Feb, 2020

1 commit

  • It seems that we shouldn't try to include the include/linux/ path to
    unaligned functions. Just include asm/unaligned.h instead so that we
    don't run into compilation warnings like below.

    In file included from drivers/platform/chrome/wilco_ec/properties.c:8:0:
    include/linux/unaligned/le_memmove.h:7:19: error: redefinition of 'get_unaligned_le16'
    static inline u16 get_unaligned_le16(const void *p)
    ^~~~~~~~~~~~~~~~~~
    In file included from arch/ia64/include/asm/unaligned.h:5:0,
    from arch/ia64/include/asm/io.h:23,
    from arch/ia64/include/asm/smp.h:21,
    from include/linux/smp.h:68,
    from include/linux/percpu.h:7,
    from include/linux/arch_topology.h:9,
    from include/linux/topology.h:30,
    from include/linux/gfp.h:9,
    from include/linux/xarray.h:14,
    from include/linux/radix-tree.h:18,
    from include/linux/idr.h:15,
    from include/linux/kernfs.h:13,
    from include/linux/sysfs.h:16,
    from include/linux/kobject.h:20,
    from include/linux/device.h:16,
    from include/linux/platform_data/wilco-ec.h:11,
    from drivers/platform/chrome/wilco_ec/properties.c:6:
    include/linux/unaligned/le_struct.h:7:19: note: previous definition of 'get_unaligned_le16' was here
    static inline u16 get_unaligned_le16(const void *p)
    ^~~~~~~~~~~~~~~~~~
    Reported-by: kbuild test robot
    Fixes: 60fb8a8e93ca ("platform/chrome: wilco_ec: Allow wilco to be compiled in COMPILE_TEST")
    Signed-off-by: Stephen Boyd
    Signed-off-by: Enric Balletbo i Serra

    Stephen Boyd
     

04 Feb, 2020

4 commits

  • Merge more updates from Andrew Morton:
    "The rest of MM and the rest of everything else: hotfixes, ipc, misc,
    procfs, lib, cleanups, arm"

    * emailed patches from Andrew Morton : (67 commits)
    ARM: dma-api: fix max_pfn off-by-one error in __dma_supported()
    treewide: remove redundant IS_ERR() before error code check
    include/linux/cpumask.h: don't calculate length of the input string
    lib: new testcases for bitmap_parse{_user}
    lib: rework bitmap_parse()
    lib: make bitmap_parse_user a wrapper on bitmap_parse
    lib: add test for bitmap_parse()
    bitops: more BITS_TO_* macros
    lib/string: add strnchrnul()
    proc: convert everything to "struct proc_ops"
    proc: decouple proc from VFS with "struct proc_ops"
    asm-generic/tlb: provide MMU_GATHER_TABLE_FREE
    asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER
    asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE
    asm-generic/tlb: rename HAVE_RCU_TABLE_FREE
    asm-generic/tlb: add missing CONFIG symbol
    asm-gemeric/tlb: remove stray function declarations
    asm-generic/tlb: avoid potential double flush
    mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush
    powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case
    ...

    Linus Torvalds
     
  • …ernel/git/chrome-platform/linux

    Pull chrome platform updates from Benson Leung:
    "CrOS EC:

    - Refactoring of some of cros_ec's headers:

    include/linux/mfd/cros_ec.h now removed, new cros_ec.h added to
    drivers/platform/chrome which contains shared operations of cros_ec
    transport drivers.

    - Response tracing in cros_ec_proto

    Wilco EC:

    - Fix unregistration order.

    - Fix keyboard backlight probing on systems without keyboard
    backlight

    - Minor cleanup (newlines in printks, COMPILE_TEST)

    Misc:

    - chromeos_laptop converted to use i2c_new_scanned_device instead of
    i2c_new_probed_device"

    * tag 'tag-chrome-platform-for-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
    platform/chrome: cros_ec: Match implementation with headers
    platform/chrome: cros_ec: Drop unaligned.h include
    platform/chrome: wilco_ec: Allow wilco to be compiled in COMPILE_TEST
    platform/chrome: wilco_ec: Add newlines to printks
    platform/chrome: wilco_ec: Fix unregistration order
    cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h'
    platform/chrome: cros_ec_ishtp: Make init_lock static
    platform/chrome: chromeos_laptop: Convert to i2c_new_scanned_device
    platform/chrome: cros_ec_lpc: Use platform_get_irq_optional() for optional IRQs
    platform/chrome: cros_ec_proto: Add response tracing
    platform/chrome: cros_ec_trace: Match trace commands with EC commands

    Linus Torvalds
     
  • The most notable change is DEFINE_SHOW_ATTRIBUTE macro split in
    seq_file.h.

    Conversion rule is:

    llseek => proc_lseek
    unlocked_ioctl => proc_ioctl

    xxx => proc_xxx

    delete ".owner = THIS_MODULE" line

    [akpm@linux-foundation.org: fix drivers/isdn/capi/kcapi_proc.c]
    [sfr@canb.auug.org.au: fix kernel/sched/psi.c]
    Link: http://lkml.kernel.org/r/20200122180545.36222f50@canb.auug.org.au
    Link: http://lkml.kernel.org/r/20191225172546.GB13378@avx2
    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • The 'cros_ec' core driver is the common interface for the cros_ec
    transport drivers to do the shared operations to register, unregister,
    suspend, resume and handle_event. The interface is provided by including
    the header 'include/linux/platform_data/cros_ec_proto.h', however, instead
    of have the implementation of these functions in cros_ec_proto.c, it is in
    'cros_ec.c', which is a different kernel module. Apart from being a bad
    practice, this can induce confusions allowing the users of the cros_ec
    protocol to call these functions.

    The register, unregister, suspend, resume and handle_event functions
    *should* only be called by the different transport drivers (i2c, spi, lpc,
    etc.), so make this a bit less confusing by moving these functions from
    the public in-kernel space to a private include in platform/chrome, and
    then, the interface for cros_ec module and for the cros_ec_proto module is
    clean.

    Signed-off-by: Enric Balletbo i Serra
    Signed-off-by: Benson Leung

    Enric Balletbo i Serra
     

01 Feb, 2020

5 commits

  • This switches the intel_menlow driver to use deci_kelvin_to_celsius()
    and celsius_to_deci_kelvin() in instead of helpers in
    .

    This is preparation for centralizing the kelvin to/from Celsius
    conversion helpers in .

    This also removes a trailing space, while we're at it.

    Link: http://lkml.kernel.org/r/1576386975-7941-5-git-send-email-akinobu.mita@gmail.com
    Signed-off-by: Akinobu Mita
    Reviewed-by: Andy Shevchenko
    Cc: Sujith Thomas
    Cc: Darren Hart
    Cc: Andy Shevchenko
    Cc: Zhang Rui
    Cc: Daniel Lezcano
    Cc: Amit Kucheria
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Cc: Keith Busch
    Cc: Jens Axboe
    Cc: Christoph Hellwig
    Cc: Sagi Grimberg
    Cc: Emmanuel Grumbach
    Cc: Hartmut Knaack
    Cc: Johannes Berg
    Cc: Jonathan Cameron
    Cc: Jonathan Cameron
    Cc: Kalle Valo
    Cc: Lars-Peter Clausen
    Cc: Luca Coelho
    Cc: Peter Meerwald-Stadler
    Cc: Stanislaw Gruszka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • The asus-wmi driver doesn't implement the thermal device functionality
    directly, so including just for
    DECI_KELVIN_TO_CELSIUS() is a bit odd.

    This switches the asus-wmi driver to use deci_kelvin_to_millicelsius()
    in .

    The format string is changed from %d to %ld due to function returned
    type.

    Link: http://lkml.kernel.org/r/1576386975-7941-4-git-send-email-akinobu.mita@gmail.com
    Signed-off-by: Akinobu Mita
    Acked-by: Andy Shevchenko
    Cc: Sujith Thomas
    Cc: Darren Hart
    Cc: Andy Shevchenko
    Cc: Zhang Rui
    Cc: Daniel Lezcano
    Cc: Amit Kucheria
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Cc: Keith Busch
    Cc: Jens Axboe
    Cc: Christoph Hellwig
    Cc: Sagi Grimberg
    Cc: Emmanuel Grumbach
    Cc: Hartmut Knaack
    Cc: Johannes Berg
    Cc: Jonathan Cameron
    Cc: Jonathan Cameron
    Cc: Kalle Valo
    Cc: Lars-Peter Clausen
    Cc: Luca Coelho
    Cc: Peter Meerwald-Stadler
    Cc: Stanislaw Gruszka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • In order to provide a clearer, more symmetric API for pinning and
    unpinning DMA pages. This way, pin_user_pages*() calls match up with
    unpin_user_pages*() calls, and the API is a lot closer to being
    self-explanatory.

    Link: http://lkml.kernel.org/r/20200107224558.2362728-23-jhubbard@nvidia.com
    Signed-off-by: John Hubbard
    Reviewed-by: Jan Kara
    Cc: Alex Williamson
    Cc: Aneesh Kumar K.V
    Cc: Björn Töpel
    Cc: Christoph Hellwig
    Cc: Daniel Vetter
    Cc: Dan Williams
    Cc: Hans Verkuil
    Cc: Ira Weiny
    Cc: Jason Gunthorpe
    Cc: Jason Gunthorpe
    Cc: Jens Axboe
    Cc: Jerome Glisse
    Cc: Jonathan Corbet
    Cc: Kirill A. Shutemov
    Cc: Leon Romanovsky
    Cc: Mauro Carvalho Chehab
    Cc: Mike Rapoport
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Hubbard
     
  • 1. Call the new global pin_user_pages_fast(), from
    pin_goldfish_pages().

    2. As required by pin_user_pages(), release these pages via
    put_user_page(). In this case, do so via put_user_pages_dirty_lock().

    That has the side effect of calling set_page_dirty_lock(), instead of
    set_page_dirty(). This is probably more accurate.

    As Christoph Hellwig put it, "set_page_dirty() is only safe if we are
    dealing with a file backed page where we have reference on the inode it
    hangs off." [1]

    Another side effect is that the release code is simplified because the
    page[] loop is now in gup.c instead of here, so just delete the local
    release_user_pages() entirely, and call put_user_pages_dirty_lock()
    directly, instead.

    [1] https://lore.kernel.org/r/20190723153640.GB720@lst.de

    Link: http://lkml.kernel.org/r/20200107224558.2362728-13-jhubbard@nvidia.com
    Signed-off-by: John Hubbard
    Reviewed-by: Jan Kara
    Reviewed-by: Ira Weiny
    Cc: Alex Williamson
    Cc: Aneesh Kumar K.V
    Cc: Björn Töpel
    Cc: Christoph Hellwig
    Cc: Daniel Vetter
    Cc: Dan Williams
    Cc: Hans Verkuil
    Cc: Jason Gunthorpe
    Cc: Jason Gunthorpe
    Cc: Jens Axboe
    Cc: Jerome Glisse
    Cc: Jonathan Corbet
    Cc: Kirill A. Shutemov
    Cc: Leon Romanovsky
    Cc: Mauro Carvalho Chehab
    Cc: Mike Rapoport
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Hubbard
     
  • Avoid naming conflicts: rename local static function from
    "pin_user_pages()" to "goldfish_pin_pages()".

    An upcoming patch will introduce a global pin_user_pages() function.

    Link: http://lkml.kernel.org/r/20200107224558.2362728-6-jhubbard@nvidia.com
    Signed-off-by: John Hubbard
    Reviewed-by: Jan Kara
    Reviewed-by: Jérôme Glisse
    Reviewed-by: Ira Weiny
    Cc: Alex Williamson
    Cc: Aneesh Kumar K.V
    Cc: Björn Töpel
    Cc: Christoph Hellwig
    Cc: Daniel Vetter
    Cc: Dan Williams
    Cc: Hans Verkuil
    Cc: Jason Gunthorpe
    Cc: Jason Gunthorpe
    Cc: Jens Axboe
    Cc: Jonathan Corbet
    Cc: Kirill A. Shutemov
    Cc: Leon Romanovsky
    Cc: Mauro Carvalho Chehab
    Cc: Mike Rapoport
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Hubbard
     

28 Jan, 2020

4 commits

  • Pull ioremap updates from Christoph Hellwig:
    "Remove the ioremap_nocache API (plus wrappers) that are always
    identical to ioremap"

    * tag 'ioremap-5.6' of git://git.infradead.org/users/hch/ioremap:
    remove ioremap_nocache and devm_ioremap_nocache
    MIPS: define ioremap_nocache to ioremap

    Linus Torvalds
     
  • Pull device properties framework updates from Rafael Wysocki:
    "Add support for reference properties in sofrware nodes (Dmitry
    Torokhov) and a basic test for property entries along with fixes on
    top of it (Dmitry Torokhov, Qian Cai, Alan Maguire)"

    * tag 'devprop-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    software node: introduce CONFIG_KUNIT_DRIVER_PE_TEST
    usb: dwc3: use proper initializers for property entries
    drivers/base/test: fix global-out-of-bounds error
    software node: add basic tests for property entries
    software node: remove separate handling of references
    platform/x86: intel_cht_int33fe: use inline reference properties
    software node: implement reference properties
    software node: allow embedding of small arrays into property_entry
    software node: replace is_array with is_inline

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These update the ACPICA code in the kernel to the most recent upstream
    revision (20200110), add new hardware support to a handful of ACPI
    drivers, make the ACPI fan driver expose power states information for
    fans, add some more quirks, fix bugs and clean up assorted things.

    Specifics:

    - Update the ACPICA code in the kernel to upstream revision 20200110
    including:
    - Update of copyright notices to 2020 (Bob Moore).
    - Dispatcher fix to always generate buffer objects for the ASL
    create_field() operator (Maximilian Luz).
    - Debugger cleanup (Colin Ian King).
    - Disassembler change to create buffer fields in
    ACPI_PARSE_LOAD_PASS1 (Erik Kaneda).
    - UNIX line ending support for non-windows builds in acpisrc (Erik
    Kaneda).

    - Update the list of ACPICA maintainers (Rafael Wysocki).

    - Add Intel Tiger Lake ACPI device IDs to the ACPI DPTF, ACPI fan,
    int340x_thermal and intel-hid drivers (Gayatri Kammela).

    - Make the ACPI fan driver create additional sysfs attributes to
    expose power states information for fans (Srinivas Pandruvada).

    - Fix up the ACPI battery driver to deal with unexpected battery
    capacity information in a better way (Hans de Goede).

    - Add ACPI backlight quirks for Lenovo E41-25/45 and MSI MS-7721
    boards (Aaron Ma, Hans de Goede).

    - Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch to
    the ACPI button driver (Jason Ekstrand).

    - Drop TIMER_DEFERRABLE from the GHES polling mode timer function
    flags to make it run precisely at the configured time (Bhaskar
    Upadhaya).

    - Fix race condition related to the reference counting of query
    handlers in the ACPI EC driver (Rafael Wysocki).

    - Fix ACPI tools build issue (Zhengyuan Liu).

    - Replace dma_request_slave_channel() with dma_request_chan() in the
    firmware guide documentation for ACPI (Peter Ujfalusi).

    - Fix typo in a comment and clean up function parameter data type
    inconsistencies (Kacper Piwiński, Tian Tao)"

    * tag 'acpi-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)
    ACPICA: Update version to 20200110
    ACPICA: All acpica: Update copyrights to 2020 Including tool signons.
    apei/ghes: Do not delay GHES polling
    ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch
    ACPI: PPTT: Consistently use unsigned int as parameter type
    ACPI: EC: Reference count query handlers under lock
    ACPICA: Update the list of maintainers
    ACPICA: Update version to 20191213
    ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator
    ACPICA: acpisrc: add unix line ending support for non-windows build
    ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
    ACPICA: debugger: fix spelling mistake "adress" -> "address"
    ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards
    docs: firmware-guide: ACPI: Replace dma_request_slave_channel() with dma_request_chan()
    thermal: int340x_thermal: Add Tiger Lake ACPI device IDs
    platform/x86: intel-hid: Add Tiger Lake ACPI device ID
    ACPI: fan: Add Tiger Lake ACPI device ID
    ACPI: DPTF: Add Tiger Lake ACPI device IDs
    ACPI: fan: Expose fan performance state information
    tools/power/acpi: fix compilation error
    ...

    Linus Torvalds
     
  • Pull x86 platform driver updates from Andy Shevchenko:

    - Enable thermal policy for ASUS TUF FX705DY/FX505DY

    - Support left round button on ASUS N56VB

    - Support new Mellanox platforms of basic class VMOD0009 and VMOD0010

    - Intel Comet Lake, Tiger Lake and Elkhart Lake support in the PMC
    driver

    - Big clean-up to Intel PMC core, PMC IPC and SCU IPC drivers

    - Touchscreen support for the PiPO W11 tablet

    * tag 'platform-drivers-x86-v5.6-1' of git://git.infradead.org/linux-platform-drivers-x86: (64 commits)
    platform/x86: intel_pmc_ipc: Switch to use driver->dev_groups
    platform/x86: intel_pmc_ipc: Propagate error from kstrtoul()
    platform/x86: intel_pmc_ipc: Use octal permissions in sysfs attributes
    platform/x86: intel_pmc_ipc: Get rid of unnecessary includes
    platform/x86: intel_pmc_ipc: Drop ipc_data_readb()
    platform/x86: intel_pmc_ipc: Drop intel_pmc_gcr_read() and intel_pmc_gcr_write()
    platform/x86: intel_pmc_ipc: Make intel_pmc_ipc_raw_cmd() static
    platform/x86: intel_pmc_ipc: Make intel_pmc_ipc_simple_command() static
    platform/x86: intel_pmc_ipc: Make intel_pmc_gcr_update() static
    platform/x86: intel_scu_ipc: Reformat kernel-doc comments of exported functions
    platform/x86: intel_scu_ipc: Drop intel_scu_ipc_raw_command()
    platform/x86: intel_scu_ipc: Drop intel_scu_ipc_io[read|write][8|16]()
    platform/x86: intel_scu_ipc: Drop unused macros
    platform/x86: intel_scu_ipc: Drop unused prototype intel_scu_ipc_fw_update()
    platform/x86: intel_scu_ipc: Sleeping is fine when polling
    platform/x86: intel_scu_ipc: Drop intel_scu_ipc_i2c_cntrl()
    platform/x86: intel_scu_ipc: Remove Lincroft support
    platform/x86: intel_scu_ipc: Add constants for register offsets
    platform/x86: intel_scu_ipc: Fix interrupt support
    platform/x86: intel_scu_ipcutil: Remove default y from Kconfig
    ...

    Linus Torvalds
     

27 Jan, 2020

1 commit

  • * acpi-battery:
    ACPI / battery: Deal better with neither design nor full capacity not being reported
    ACPI / battery: Use design-cap for capacity calculations if full-cap is not available
    ACPI / battery: Deal with design or full capacity being reported as -1

    * acpi-video:
    ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards
    ACPI: video: Use native backlight on Lenovo E41-25/45
    ACPI: video: fix typo in comment

    * acpi-fan:
    ACPI: fan: Expose fan performance state information

    * acpi-drivers:
    thermal: int340x_thermal: Add Tiger Lake ACPI device IDs
    platform/x86: intel-hid: Add Tiger Lake ACPI device ID
    ACPI: fan: Add Tiger Lake ACPI device ID
    ACPI: DPTF: Add Tiger Lake ACPI device IDs

    Rafael J. Wysocki
     

23 Jan, 2020

20 commits


22 Jan, 2020

3 commits


20 Jan, 2020

2 commits