09 Jul, 2016

6 commits

  • This patch allows SSDTs to be loaded from EFI variables. It works by
    specifying the EFI variable name containing the SSDT to be loaded. All
    variables with the same name (regardless of the vendor GUID) will be
    loaded.

    Note that we can't use acpi_install_table and we must rely on the
    dynamic ACPI table loading and bus re-scanning mechanisms. That is
    because I2C/SPI controllers are initialized earlier then the EFI
    subsystems and all I2C/SPI ACPI devices are enumerated when the
    I2C/SPI controllers are initialized.

    Signed-off-by: Octavian Purdila
    Reviewed-by: Matt Fleming
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     
  • This patch adds supports for SPI device enumeration and removal via
    ACPI reconfiguration notifications that are send as a result of an
    ACPI table load or unload operation.

    The code is very similar with the device tree reconfiguration code
    with only small differences in the way we test and set the enumerated
    state of the device:

    * the equivalent of device tree's OF_POPULATED flag is the
    flags.visited field in the ACPI device and the following wrappers
    are used to manipulate it: acpi_device_enumerated(),
    acpi_device_set_enumerated() and acpi_device_clear_enumerated()

    * the device tree code checks of status of the OF_POPULATED flag to
    avoid trying to create duplicate Linux devices in two places: once
    when the controller is probed, and once when the reconfigure event
    is received; in the ACPI code the check is performed only once when
    the ACPI namespace is searched because this code path is invoked in
    both of the two mentioned cases

    The rest of the enumeration handling is similar with device tree: when
    the Linux device is unregistered the ACPI device is marked as not
    enumerated; also, when a device remove notification is received we
    check that the device is in the enumerated state before continuing
    with the removal of the Linux device.

    Signed-off-by: Octavian Purdila
    Reviewed-by: Mika Westerberg
    Acked-by: Mark Brown
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     
  • This patch adds supports for I2C device enumeration and removal via
    ACPI reconfiguration notifications that are send as a result of an
    ACPI table load or unload operation.

    The code is very similar with the device tree reconfiguration code
    with only small differences in the way we test and set the enumerated
    state of the device:

    * the equivalent of device tree's OF_POPULATED flag is the
    flags.visited field in the ACPI device and the following
    wrappers are used to manipulate it: acpi_device_enumerated(),
    acpi_device_set_enumerated() and acpi_device_clear_enumerated()

    * the device tree code checks of status of the OF_POPULATED flag to
    avoid trying to create duplicate Linux devices in two places: once
    when the controller is probed, and once when the reconfigure event
    is received; in the ACPI code the check is performed only once when
    the ACPI namespace is searched because this code path is invoked in
    both of the two mentioned cases

    The rest of the enumeration handling is similar with device tree: when
    the Linux device is unregistered the ACPI device is marked as not
    enumerated; also, when a device remove notification is received we
    check that the device is in the enumerated state before continuing
    with the removal of the Linux device.

    Signed-off-by: Octavian Purdila
    Reviewed-by: Mika Westerberg
    Acked-by: Wolfram Sang
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     
  • Add support for ACPI reconfiguration notifiers to allow subsystems
    to react to changes in the ACPI tables that happen after the initial
    enumeration. This is similar with the way dynamic device tree
    notifications work.

    The reconfigure notifications supported for now are device add and
    device remove.

    Since ACPICA allows only one table notification handler, this patch
    makes the table notifier function generic and moves it out of the
    sysfs specific code.

    Signed-off-by: Octavian Purdila
    Reviewed-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     
  • If the ACPI tables change as a result of a dinamically loaded table
    and a bus rescan is required the enumeration/visited flag are not
    consistent.

    I2C/SPI are not directly enumerated in acpi_bus_attach(), however
    the visited flag is set. This makes it impossible to check if an
    ACPI device has already been enumerated by the I2C and SPI
    subsystems. To fix this issue we only set the visited flags if
    the device is not I2C or SPI.

    With this change we also need to remove setting visited to false
    from acpi_bus_attach(), otherwise if we rescan already enumerated
    I2C/SPI devices we try to re-enumerate them.

    Note that I2C/SPI devices can be enumerated either via a scan handler
    (when using PRP0001) or via regular device_attach(). In either case
    the flow goes through acpi_default_enumeration() which makes it the
    ideal place to mark the ACPI device as enumerated.

    Signed-off-by: Octavian Purdila
    Reviewed-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     
  • Signed-off-by: Octavian Purdila
    Reviewed-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     

22 Jun, 2016

5 commits

  • This patch adds support for ACPI_TABLE_UPGRADE for ARM64

    To access initrd image we need to move initialization
    of linear mapping a bit earlier.

    The implementation of the feature acpi_table_upgrade()
    (drivers/acpi/tables.c) works with initrd data represented as an array
    in virtual memory. It uses some library utility to find the redefined
    tables in that array and iterates over it to copy the data to new
    allocated memory. So to access the initrd data via fixmap
    we need to rewrite it considerably.

    In x86 arch, kernel memory is already mapped by the time when
    acpi_table_upgrade() and acpi_boot_table_init() are called so I
    think that we can just move this mapping one function earlier too.

    Signed-off-by: Jon Masters
    Signed-off-by: Aleksey Makarov
    Acked-by: Will Deacon
    Signed-off-by: Rafael J. Wysocki

    Jon Masters
     
  • We want to use the table upgrade feature in ARM64.
    Introduce a new configuration option that allows that.

    Signed-off-by: Aleksey Makarov
    Signed-off-by: Rafael J. Wysocki

    Aleksey Makarov
     
  • The constant that defines max phys address where the new upgraded
    ACPI table should be allocated is arch-specific. Move it to

    Signed-off-by: Aleksey Makarov
    Signed-off-by: Rafael J. Wysocki

    Aleksey Makarov
     
  • Refer initrd_start, initrd_end directly from drivers/acpi/tables.c.
    This allows to use the table upgrade feature in architectures
    other than x86. Also this simplifies header files.

    The patch renames acpi_table_initrd_init() to acpi_table_upgrade()
    (what reflects the purpose of the function) and removes the unneeded
    wraps early_acpi_table_init() and early_initrd_acpi_init().

    Signed-off-by: Aleksey Makarov
    Acked-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Aleksey Makarov
     
  • The new memory allocated in acpi_table_initrd_init() is used to
    copy the upgraded tables to it. So it should be mapped with
    early_memunmap() instead of early_ioremap().

    This is critical for ARM.

    Signed-off-by: Aleksey Makarov
    Acked-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Aleksey Makarov
     

20 Jun, 2016

3 commits

  • Linus Torvalds
     
  • Pull UDF fixes and a reiserfs fix from Jan Kara:
    "A couple of udf fixes (most notably a bug in parsing UDF partitions
    which led to inability to mount recent Windows installation media) and
    a reiserfs fix for handling kstrdup failure"

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    reiserfs: check kstrdup failure
    udf: Use correct partition reference number for metadata
    udf: Use IS_ERR when loading metadata mirror file entry
    udf: Don't BUG on missing metadata partition descriptor

    Linus Torvalds
     
  • Pull dmaengine fixes from Vinod Koul:
    "Some fixes has piled up, so time to send them upstream.

    These fixes include:
    - at_xdmac fixes for residue and other stuff
    - update MAINTAINERS for dma dt bindings
    - mv_xor fix for incorrect offset"

    * tag 'dmaengine-fix-4.7-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: mv_xor: Fix incorrect offset in dma_map_page()
    dmaengine: at_xdmac: double FIFO flush needed to compute residue
    dmaengine: at_xdmac: fix residue corruption
    dmaengine: at_xdmac: align descriptors on 64 bits
    MAINTAINERS: Add file patterns for dma device tree bindings

    Linus Torvalds
     

19 Jun, 2016

11 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "Another batch of fixes for ARM SoC platforms. Most are smaller fixes.

    Two areas that are worth pointing out are:

    - OMAP had a handful of changes to voltage specs that caused a bit of
    churn, most of volume of change in this branch is due to this.

    - There are a couple of _rcuidle fixes from Paul that touch common
    code and came in through the OMAP tree since they were the ones who
    saw the problems.

    The rest is smaller changes across a handful of platforms"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (36 commits)
    ARM: dts: STi: stih407-family: Disable reserved-memory co-processor nodes
    ARM: dts: am437x-sk-evm: Reduce i2c0 bus speed for tps65218
    ARM: OMAP2+: timer: add probe for clocksources
    ARM: OMAP1: fix ams-delta FIQ handler to work with sparse IRQ
    memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing
    arm: Use _rcuidle for smp_cross_call() tracepoints
    MAINTAINERS: Add myself as reviewer of ARM FSL/NXP
    ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_mem_ret
    ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_logic_ret
    ARM: OMAP: DRA7: powerdomain data: Set L3init and L4per to ON
    ARM: imx6ul: Fix Micrel PHY mask
    ARM: OMAP2+: Select OMAP_INTERCONNECT for SOC_AM43XX
    ARM: dts: DRA74x: fix DSS PLL2 addresses
    ARM: OMAP2: Enable Errata 430973 for OMAP3
    ARM: dts: socfpga: Add missing PHY phandle
    ARM: dts: exynos: Fix port nodes names for Exynos5420 Peach Pit board
    ARM: dts: exynos: Fix port nodes names for Exynos5250 Snow board
    ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw regulator
    ARM: dts: sun6i: primo81: Drop constraints on dc1sw regulator
    ARM: dts: sunxi: Add OLinuXino Lime2 eMMC to the Makefile
    ...

    Linus Torvalds
     
  • OMAP-GPMC: Fixes for for v4.7-rc cycle:

    - Fix omap gpmc EXTRADELAY timing. The DT provided timings
    were wrongly used causing devices requiring extra delay timing
    to fail.

    * tag 'gpmc-omap-fixes-for-v4.7' of https://github.com/rogerq/linux:
    memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing
    + Linux 4.7-rc3

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • …/kernel/git/tmlind/linux-omap into fixes

    Fixes for omaps for v4.7-rc cycle:

    - Fix dra7 for hardware issues limiting L4Per and L3init power domains
    to on state. Without this the devices may not work correctly after
    some time of use because of asymmetric aging. And related to this,
    let's also remove the unusable states.

    - Always select omap interconnect for am43x as otherwise the am43x
    only configurations will not boot properly. This can happen easily
    for any product kernels that leave out other SoCs to save memory.

    - Fix DSS PLL2 addresses that have gone unused for now

    - Select erratum 430973 for omap3, this is now safe to do and can
    save quite a bit of debugging time for people who may have left
    it out.

    * tag 'omap-for-v4.7/fixes-powedomain' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_mem_ret
    ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_logic_ret
    ARM: OMAP: DRA7: powerdomain data: Set L3init and L4per to ON
    ARM: OMAP2+: Select OMAP_INTERCONNECT for SOC_AM43XX
    ARM: dts: DRA74x: fix DSS PLL2 addresses
    ARM: OMAP2: Enable Errata 430973 for OMAP3
    + Linux 4.7-rc2

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …t/tmlind/linux-omap into fixes

    Fixes for omaps for v4.7-rc cycle:

    - Two boot warning fixes from the RCU tree that should have gotten
    merged several weeks ago already but did not because of issues
    with who merges them. Paul has now split the RCU warning fixes into
    sets for various maintainers.

    - Fix ams-delta FIQ regression caused by omap1 sparse IRQ changes

    - Fix PM for omap3 boards using timer12 and gptimer, like the
    original beagleboard

    - Fix hangs on am437x-sk-evm by lowering the I2C bus speed

    * tag 'fixes-rcu-fiq-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: am437x-sk-evm: Reduce i2c0 bus speed for tps65218
    ARM: OMAP2+: timer: add probe for clocksources
    ARM: OMAP1: fix ams-delta FIQ handler to work with sparse IRQ
    arm: Use _rcuidle for smp_cross_call() tracepoints
    arm: Use _rcuidle tracepoint to allow use from idle

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • This patch fixes a non-booting issue in Mainline.

    When booting with a compressed kernel, we need to be careful how we
    populate memory close to DDR start. AUTO_ZRELADDR is enabled by default
    in multi-arch enabled configurations, which place some restrictions on
    where the kernel is placed and where it will be uncompressed to on boot.

    AUTO_ZRELADDR takes the decompressor code's start address and masks out
    the bottom 28 bits to obtain an address to uncompress the kernel to
    (thus a load address of 0x42000000 means that the kernel will be
    uncompressed to 0x40000000 i.e. DDR START on this platform).

    Even changing the load address to after the co-processor's shared memory
    won't render a booting platform, since the AUTO_ZRELADDR algorithm still
    ensures the kernel is uncompressed into memory shared with the first
    co-processor (0x40000000).

    Another option would be to move loading to 0x4A000000, since this will
    mean the decompressor will decompress the kernel to 0x48000000. However,
    this would mean a large chunk (0x44000000 => 0x48000000 (64MB)) of
    memory would essentially be wasted for no good reason.

    Until we can work with ST to find a suitable memory location to
    relocate co-processor shared memory, let's disable the shared memory
    nodes. This will ensure a working platform in the mean time.

    NB: The more observant of you will notice that we're leaving the DMU
    shared memory node enabled; this is because a) it is the only one in
    active use at the time of this writing and b) it is not affected by
    the current default behaviour which is causing issues.

    Fixes: fe135c6 (ARM: dts: STiH407: Move over to using the 'reserved-memory' API for obtaining DMA memory)
    Signed-off-by: Lee Jones
    Reviewed-by Peter Griffin
    Signed-off-by: Maxime Coquelin
    Signed-off-by: Olof Johansson

    Lee Jones
     
  • The i.MX fixes for 4.7:
    - Correct Micrel PHY mask to fix the issue that i.MX6UL ethernet works
    in U-Boot but not in kernel.

    * tag 'imx-fixes-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    ARM: imx6ul: Fix Micrel PHY mask

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Pull ARM fixes from Russell King:
    "A couple of fixes for pmd_mknotpresent()/pmd_present() for LPAE
    systems"

    * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8579/1: mm: Fix definition of pmd_mknotpresent
    ARM: 8578/1: mm: ensure pmd_present only checks the valid bit

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a bunch (65) of USB fixes for 4.7-rc4. Sorry about the
    quantity, I've been slow in getting these out.

    The majority are the "normal" gadget, musb, and xhci fixes, that we
    all are used to. There are also a few other tiny fixes resolving a
    number of reported issues that showed up in 4.7-rc1.

    All of these have been in linux-next"

    * tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (65 commits)
    usbip: rate limit get_frame_number message
    usb: musb: sunxi: Remove bogus "Frees glue" comment
    usb: musb: sunxi: Fix NULL ptr deref when gadget is registered before musb
    usb: echi-hcd: Add ehci_setup check before echi_shutdown
    usb: host: ehci-msm: Conditionally call ehci suspend/resume
    MAINTAINERS: Add file patterns for usb device tree bindings
    usb: host: ehci-tegra: Avoid getting the same reset twice
    usb: host: ehci-tegra: Grab the correct UTMI pads reset
    USB: mos7720: delete parport
    USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails
    phy: ti-pipe3: Program the DPLL even if it was already locked
    usb: musb: Stop bulk endpoint while queue is rotated
    usb: musb: Ensure rx reinit occurs for shared_fifo endpoints
    usb: musb: host: correct cppi dma channel for isoch transfer
    usb: musb: only restore devctl when session was set in backup
    usb: phy: Check initial state for twl6030
    usb: musb: Use normal module_init for 2430 glue
    usb: musb: Remove pm_runtime_set_irq_safe
    usb: musb: Remove extra PM runtime calls from 2430 glue layer
    usb: musb: Return error value from musb_mailbox
    ...

    Linus Torvalds
     
  • Pull IIO and staging fixes from Greg KH:
    "Here are a number of IIO and staging bugfixes for 4.7-rc4.

    Nothing huge, the normal amount of iio driver fixes, and some small
    staging driver bugfixes for some reported problems (2 are reverts of
    patches that went into 4.7-rc1). All have been in linux-next with no
    reported issues"

    * tag 'staging-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (24 commits)
    Revert "Staging: rtl8188eu: rtw_efuse: Use sizeof type *pointer instead of sizeof type."
    Revert "Staging: drivers: rtl8188eu: use sizeof(*ptr) instead of sizeof(struct)"
    staging: lustre: lnet: Don't access NULL NI on failure path
    iio: hudmidity: hdc100x: fix incorrect shifting and scaling
    iio: light apds9960: Add the missing dev.parent
    iio: Fix error handling in iio_trigger_attach_poll_func
    iio: st_sensors: Disable DRDY at init time
    iio: st_sensors: Init trigger before irq request
    iio: st_sensors: switch to a threaded interrupt
    iio: light: bh1780: assign a static name
    iio: bh1780: dereference the client properly
    iio: humidity: hdc100x: fix IIO_TEMP channel reporting
    iio:st_pressure: fix sampling gains (bring inline with ABI)
    iio: proximity: as3935: fix buffer stack trashing
    iio: proximity: as3935: remove triggered buffer processing
    iio: proximity: as3935: correct IIO_CHAN_INFO_RAW output
    max44000: Remove scale from proximity
    iio: humidity: am2315: Remove a stray unlock
    iio: humidity: hdc100x: correct humidity integration time mask
    iio: pressure: bmp280: fix error message for wrong chip id
    ...

    Linus Torvalds
     
  • Pull driver core fixes from Greg KH:
    "Here are a small number of debugfs, ISA, and one driver core fix for
    4.7-rc4.

    All of these resolve reported issues. The ISA ones have spent the
    least amount of time in linux-next, sorry about that, I didn't realize
    they were regressions that needed to get in now (thanks to Thorsten
    for the prodding!) but they do all pass the 0-day bot tests. The
    others have been in linux-next for a while now.

    Full details about them are in the shortlog below"

    * tag 'driver-core-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    isa: Dummy isa_register_driver should return error code
    isa: Call isa_bus_init before dependent ISA bus drivers register
    watchdog: ebc-c384_wdt: Allow build for X86_64
    iio: stx104: Allow build for X86_64
    gpio: Allow PC/104 devices on X86_64
    isa: Allow ISA-style drivers on modern systems
    base: make module_create_drivers_dir race-free
    debugfs: open_proxy_open(): avoid double fops release
    debugfs: full_proxy_open(): free proxy on ->open() failure
    kernel/kcov: unproxify debugfs file's fops

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are a small number of char and misc driver fixes for 4.7-rc4.

    They resolve some minor issues that have been reported, and have all
    been in linux-next"

    * tag 'char-misc-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    coresight: Handle build path error
    coresight: Fix erroneous memset in tmc_read_unprepare_etr
    coresight: Fix tmc_read_unprepare_etr
    coresight: Fix NULL pointer dereference in _coresight_build_path
    extcon: palmas: Fix boot up state of VBUS when using GPIO detection
    mcb: Acquire reference to carrier module in core
    mcb: Acquire reference to device in probe
    mei: don't use wake_up_interruptible for wr_ctrl

    Linus Torvalds
     

18 Jun, 2016

15 commits

  • Pull btrfs fixes from Chris Mason:
    "The most user visible change here is a fix for our recent superblock
    validation checks that were causing problems on non-4k pagesized
    systems"

    * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: btrfs_check_super_valid: Allow 4096 as stripesize
    btrfs: remove build fixup for qgroup_account_snapshot
    btrfs: use new error message helper in qgroup_account_snapshot
    btrfs: avoid blocking open_ctree from cleaner_kthread
    Btrfs: don't BUG_ON() in btrfs_orphan_add
    btrfs: account for non-CoW'd blocks in btrfs_abort_transaction
    Btrfs: check if extent buffer is aligned to sectorsize
    btrfs: Use correct format specifier

    Linus Torvalds
     
  • Pull ACPI fix from Rafael Wysocki:
    "Revert a recent ACPICA commit that introduced a suspend-to-RAM
    regression on one system due to incorrect information in its ACPI
    tables that had not been taken into consideration at all before (and
    everything worked), but the commit in question started to use it"

    * tag 'acpi-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPICA: ACPI 2.0, Hardware: Add access_width/bit_offset support for acpi_hw_write()"

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "Fixes for two recent regressions that may lead to degraded performance
    (operating performance points framework, intel_pstate).

    Specifics:

    - Fix a recent regression in the intel_pstate driver that may lead to
    degraded performance on some systems due to missing turbo state
    entry in the table returned by the ACPI _PSS object (Srinivas
    Pandruvada).

    - Fix a recent regression in the OPP (operating performance points)
    framework that may lead to degraded performance on some systems
    where the OPP table is created too early (Viresh Kumar)"

    * tag 'pm-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / OPP: Add 'UNKNOWN' status for shared_opp in struct opp_table
    cpufreq: intel_pstate: Adjust _PSS[0] freqeuency if needed

    Linus Torvalds
     
  • Pull HID subsystem fixes from Jiri Kosina:

    - kernel panic fix in hid-elo from Oliver Neukum

    - Surface Pro 3 device quirk from Benjamin Tissoires

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: multitouch: Add MT_QUIRK_NOT_SEEN_MEANS_UP to Surface Pro 3
    HID: elo: kill not flush the work

    Linus Torvalds
     
  • The inline isa_register_driver stub simply allows compilation on systems
    with CONFIG_ISA disabled; the dummy isa_register_driver does not
    register an isa_driver at all. The inline isa_register_driver should
    return -ENODEV to indicate lack of support when attempting to register
    an isa_driver on such a system with CONFIG_ISA disabled.

    Cc: Matthew Wilcox
    Reported-by: Sasha Levin
    Tested-by: Ye Xiaolong
    Signed-off-by: William Breathitt Gray
    Signed-off-by: Greg Kroah-Hartman

    William Breathitt Gray
     
  • The isa_bus_init function must be called before drivers which utilize
    the ISA bus driver are registered. A race condition for initilization
    exists if device_initcall is used (the isa_bus_init callback is placed
    in the same initcall level as dependent drivers which use module_init).
    This patch ensures that isa_bus_init is called first by utilizing
    postcore_initcall in favor of device_initcall.

    Fixes: a5117ba7da37 ("[PATCH] Driver model: add ISA bus")
    Cc: Rene Herman
    Signed-off-by: William Breathitt Gray
    Signed-off-by: Greg Kroah-Hartman

    William Breathitt Gray
     
  • With the introduction of the ISA_BUS_API Kconfig option, ISA-style
    drivers may be built for X86_64 architectures. This patch changes the
    ISA Kconfig option dependency of the WinSystems EBC-C384 watchdog timer
    driver to ISA_BUS_API, thus allowing it to build for X86_64 as it is
    expected to.

    Cc: Wim Van Sebroeck
    Reviewed-by: Guenter Roeck
    Signed-off-by: William Breathitt Gray
    Signed-off-by: Greg Kroah-Hartman

    William Breathitt Gray
     
  • With the introduction of the ISA_BUS_API Kconfig option, ISA-style
    drivers may be built for X86_64 architectures. This patch changes the
    ISA Kconfig option dependency of the Apex Embedded Systems STX104 DAC
    driver to ISA_BUS_API, thus allowing it to build for X86_64 as it is
    expected to.

    Cc: Hartmut Knaack
    Cc: Lars-Peter Clausen
    Cc: Peter Meerwald-Stadler
    Reviewed-by: Guenter Roeck
    Signed-off-by: William Breathitt Gray
    Acked-by: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    William Breathitt Gray
     
  • With the introduction of the ISA_BUS_API Kconfig option, ISA-style
    drivers may be built for X86_64 architectures. This patch changes the
    ISA Kconfig option dependency of the PC/104 drivers to ISA_BUS_API, thus
    allowing them to build for X86_64 as they are expected to.

    Cc: Alexandre Courbot
    Reviewed-by: Guenter Roeck
    Signed-off-by: William Breathitt Gray
    Acked-by: Linus Walleij
    Signed-off-by: Greg Kroah-Hartman

    William Breathitt Gray
     
  • Several modern devices, such as PC/104 cards, are expected to run on
    modern systems via an ISA bus interface. Since ISA is a legacy interface
    for most modern architectures, ISA support should remain disabled in
    general. Support for ISA-style drivers should be enabled on a per driver
    basis.

    To allow ISA-style drivers on modern systems, this patch introduces the
    ISA_BUS_API and ISA_BUS Kconfig options. The ISA bus driver will now
    build conditionally on the ISA_BUS_API Kconfig option, which defaults to
    the legacy ISA Kconfig option. The ISA_BUS Kconfig option allows the
    ISA_BUS_API Kconfig option to be selected on architectures which do not
    enable ISA (e.g. X86_64).

    The ISA_BUS Kconfig option is currently only implemented for X86
    architectures. Other architectures may have their own ISA_BUS Kconfig
    options added as required.

    Reviewed-by: Guenter Roeck
    Signed-off-by: William Breathitt Gray
    Acked-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    William Breathitt Gray
     
  • It's annoying to constantly see the same "Not yet implemented" message
    over and over with nothing able to be done about it, so rate limit it
    for now to keep user's logs "clean".

    Reported-by: Lars Täuber
    Tested-by: Lars Täuber
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • * acpica-fixes:
    Revert "ACPICA: ACPI 2.0, Hardware: Add access_width/bit_offset support for acpi_hw_write()"

    Rafael J. Wysocki
     
  • * pm-opp:
    PM / OPP: Add 'UNKNOWN' status for shared_opp in struct opp_table

    * pm-cpufreq-fixes:
    cpufreq: intel_pstate: Adjust _PSS[0] freqeuency if needed

    Rafael J. Wysocki
     
  • This reverts commit b5e12ec38331 ("Staging: rtl8188eu: rtw_efuse: Use
    sizeof type *pointer instead of sizeof type.").

    This commit is wrong, the rtw_malloc2d helper function takes the size of
    the array elements as its 3th argument, whereas sizeof(*eFuseWord)
    gives the size of a pointer instead of the size of a u16.

    Since sizeof(void *) > sizeof(u16) this has no adverse effects, but it
    is still wrong.

    Cc: Sandhya Bankar
    Signed-off-by: Hans de Goede
    Signed-off-by: Greg Kroah-Hartman

    Hans de Goede
     
  • This reverts commit 99aded71b52c ("Staging: drivers: rtl8188eu: use
    sizeof(*ptr) instead of sizeof(struct)").

    This commit is wrong, as adapt->HalData has a type of "void *", so
    now we are allocating a much to small struct, which causes the driver
    to overwrite random memory which leads to a non working driver and
    various system crashes.

    Cc: Jacky Boen
    Signed-off-by: Hans de Goede
    Signed-off-by: Greg Kroah-Hartman

    Hans de Goede