07 Oct, 2019

8 commits

  • devm_gpiod_get_from_of_node() is being retired in favor of
    devm_fwnode_gpiod_get_index(), that behaves similar to
    devm_gpiod_get_index(), but can work with arbitrary firmware node. It
    will also be able to support secondary software nodes.

    Let's switch this driver over.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Adam Thomson
    Link: https://lore.kernel.org/r/20191004231017.130290-6-dmitry.torokhov@gmail.com
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Dmitry Torokhov
     
  • devm_gpiod_get_from_of_node() is being retired in favor of
    devm_fwnode_gpiod_get_index(), that behaves similar to
    devm_gpiod_get_index(), but can work with arbitrary firmware node. It
    will also be able to support secondary software nodes.

    Let's switch this driver over.

    Signed-off-by: Dmitry Torokhov
    Link: https://lore.kernel.org/r/20191004231017.130290-5-dmitry.torokhov@gmail.com
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Dmitry Torokhov
     
  • devm_gpiod_get_from_of_node() is being retired in favor of
    devm_fwnode_gpiod_get_index(), that behaves similar to
    devm_gpiod_get_index(), but can work with arbitrary firmware node. It
    will also be able to support secondary software nodes.

    Let's switch this driver over.

    Signed-off-by: Dmitry Torokhov
    Link: https://lore.kernel.org/r/20191004231017.130290-4-dmitry.torokhov@gmail.com
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Dmitry Torokhov
     
  • devm_gpiod_get_from_of_node() is being retired in favor of
    [devm_]fwnode_gpiod_get_index(), that behaves similar to
    devm_gpiod_get_index(), but can work with arbitrary firmware node. It
    will also be able to support secondary software nodes.

    Let's switch this driver over.

    Note that now that we have a good non-devm API for getting GPIO from
    arbitrary firmware node, there is no reason to use devm API here as
    regulator core takes care of managing lifetime of "enable" GPIO and we
    were immediately detaching requested GPIO from devm anyway.

    Signed-off-by: Dmitry Torokhov
    Link: https://lore.kernel.org/r/20191004231017.130290-3-dmitry.torokhov@gmail.com
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Dmitry Torokhov
     
  • devm_gpiod_get_from_of_node() is being retired in favor of
    devm_fwnode_gpiod_get_index(), that behaves similar to
    devm_gpiod_get_index(), but can work with arbitrary firmware node. It
    will also be able to support secondary software nodes.

    Let's switch this driver over.

    Signed-off-by: Dmitry Torokhov
    Link: https://lore.kernel.org/r/20191004231017.130290-2-dmitry.torokhov@gmail.com
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Dmitry Torokhov
     
  • …ernel/git/linusw/linux-gpio into regulator-5.5

    Mark Brown
     
  • Only the desc field is really used, so use struct regulator_desc instead.
    Then struct pbias_regulator_data can be removed.

    Signed-off-by: Axel Lin
    Link: https://lore.kernel.org/r/20191007114320.20977-1-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     
  • It's more straightforward to use for statement here.

    Signed-off-by: Axel Lin
    Acked-by: Steve Twiss
    Link: https://lore.kernel.org/r/20191007115009.25672-1-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     

05 Oct, 2019

3 commits


03 Oct, 2019

2 commits

  • This introduces fwnode_gpiod_get_index() that iterates through common gpio
    suffixes when trying to locate a GPIO within a given firmware node.

    We also switch devm_fwnode_gpiod_get_index() to call
    fwnode_gpiod_get_index() instead of iterating through GPIO suffixes on
    its own.

    Reviewed-by: Andy Shevchenko
    Signed-off-by: Dmitry Torokhov
    Link: https://lore.kernel.org/r/20190913032240.50333-3-dmitry.torokhov@gmail.com
    Reviewed-by: Mika Westerberg
    Signed-off-by: Linus Walleij

    Dmitry Torokhov
     
  • devm_fwnode_get_index_gpiod_from_child() is too long, besides the fwnode
    in question does not have to be a child of device node. Let's rename it
    to devm_fwnode_gpiod_get_index() and keep the old name for compatibility
    for now.

    Also let's add a devm_fwnode_gpiod_get() wrapper as majority of the
    callers need a single GPIO.

    Reviewed-by: Andy Shevchenko
    Signed-off-by: Dmitry Torokhov
    Reviewed-by: Mika Westerberg
    Link: https://lore.kernel.org/r/20190913032240.50333-2-dmitry.torokhov@gmail.com
    Signed-off-by: Linus Walleij

    Dmitry Torokhov
     

02 Oct, 2019

2 commits

  • The description of "regulator-boot-on" was a little unclear, at least
    to me. Did this property mean that we should turn the regulator on at
    boot? Or perhaps it was intended only to be used for regulators where
    we couldn't read the state at bootup to indicate what state we should
    assume? The answer, it turns out, is both [1].

    Let's document this.

    [1] https://lore.kernel.org/r/20190923181431.GU2036@sirena.org.uk

    Signed-off-by: Douglas Anderson
    Link: https://lore.kernel.org/r/20191001124531.v2.1.Ice34ad5970a375c3c03cb15c3859b3ee501561bf@changeid
    Signed-off-by: Mark Brown

    Douglas Anderson
     
  • This fixes device probing when built as a module

    Signed-off-by: Guido Günther
    Link: https://lore.kernel.org/r/46ce3400e227dd88d51486c02a6152c9ec52acbb.1569875042.git.agx@sigxcpu.org
    Signed-off-by: Mark Brown

    Guido Günther
     

01 Oct, 2019

13 commits

  • drivers/regulator/pcap-regulator.c:89:27: warning:
    SW3_table defined but not used [-Wunused-const-variable=]

    It is never used, so can be removed.

    Signed-off-by: YueHaibing
    Link: https://lore.kernel.org/r/20190928085540.45332-1-yuehaibing@huawei.com
    Signed-off-by: Mark Brown

    YueHaibing
     
  • The sleep flag bit decides the mode for BUCK_MODE_MANUAL case, simplify
    the logic as the result is the same.

    Signed-off-by: Axel Lin
    Reviewed-by: Adam Thomson
    Link: https://lore.kernel.org/r/20190926055128.23434-2-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Use of_device_get_match_data to simplify the code a bit.

    Signed-off-by: Axel Lin
    Link: https://lore.kernel.org/r/20190925101256.19030-1-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     
  • This Power IC is used in combination with various PMIC combos,
    generally found on boards with MSM8992, MSM8994, MSM8996,
    MSM8956, MSM8976 and others, usually at address 0x5 on the SPMI
    bus, and its usual usage is to provide power to the GPU and/or
    to the CPU clusters (APC0/APC1).

    Signed-off-by: Angelo G. Del Regno
    Link: https://lore.kernel.org/r/20190921095043.62593-6-kholk11@gmail.com
    Signed-off-by: Mark Brown

    Angelo G. Del Regno
     
  • The PM8950 provides 6 SMPS regulators, of which 5 HFSMPS
    and one FTSMPS2.5 (s5), and 23 LDOs.
    Add these to the RPM regulator driver.

    Signed-off-by: Angelo G. Del Regno
    Link: https://lore.kernel.org/r/20190921095043.62593-4-kholk11@gmail.com
    Signed-off-by: Mark Brown

    Angelo G. Del Regno
     
  • The PM8950 has 5 HFSMPS, 1 FTSMPS2.5 (s5, controlling APC voltage)
    and 23 LDO regulators.
    Add the configuration for this chip.

    Signed-off-by: Angelo G. Del Regno
    Link: https://lore.kernel.org/r/20190921095043.62593-3-kholk11@gmail.com
    Signed-off-by: Mark Brown

    Angelo G. Del Regno
     
  • Compatible property is not of type 'string', so remove const:
    from it.

    Signed-off-by: Pragnesh Patel
    Acked-by: Rob Herring
    Link: https://lore.kernel.org/r/1568875145-2864-1-git-send-email-pragnesh.patel@sifive.com
    Signed-off-by: Mark Brown

    Pragnesh Patel
     
  • Linus Torvalds
     
  • Pull btrfs fixes from David Sterba:
    "A bunch of fixes that accumulated in recent weeks, mostly material for
    stable.

    Summary:

    - fix for regression from 5.3 that prevents to use balance convert
    with single profile

    - qgroup fixes: rescan race, accounting leak with multiple writers,
    potential leak after io failure recovery

    - fix for use after free in relocation (reported by KASAN)

    - other error handling fixups"

    * tag 'for-5.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
    btrfs: qgroup: Fix reserved data space leak if we have multiple reserve calls
    btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space
    btrfs: Fix a regression which we can't convert to SINGLE profile
    btrfs: relocation: fix use-after-free on dead relocation roots
    Btrfs: fix race setting up and completing qgroup rescan workers
    Btrfs: fix missing error return if writeback for extent buffer never started
    btrfs: adjust dirty_metadata_bytes after writeback failure of extent buffer
    Btrfs: fix selftests failure due to uninitialized i_mode in test inodes

    Linus Torvalds
     
  • Pull csky updates from Guo Ren:
    "This round of csky subsystem just some fixups:

    - Fix mb() synchronization problem

    - Fix dma_alloc_coherent with PAGE_SO attribute

    - Fix cache_op failed when cross memory ZONEs

    - Optimize arch_sync_dma_for_cpu/device with dma_inv_range

    - Fix ioremap function losing

    - Fix arch_get_unmapped_area() implementation

    - Fix defer cache flush for 610

    - Support kernel non-aligned access

    - Fix 610 vipt cache flush mechanism

    - Fix add zero_fp fixup perf backtrace panic

    - Move static keyword to the front of declaration

    - Fix csky_pmu.max_period assignment

    - Use generic free_initrd_mem()

    - entry: Remove unneeded need_resched() loop"

    * tag 'csky-for-linus-5.4-rc1' of git://github.com/c-sky/csky-linux:
    csky: Move static keyword to the front of declaration
    csky: entry: Remove unneeded need_resched() loop
    csky: Fixup csky_pmu.max_period assignment
    csky: Fixup add zero_fp fixup perf backtrace panic
    csky: Use generic free_initrd_mem()
    csky: Fixup 610 vipt cache flush mechanism
    csky: Support kernel non-aligned access
    csky: Fixup defer cache flush for 610
    csky: Fixup arch_get_unmapped_area() implementation
    csky: Fixup ioremap function losing
    csky: Optimize arch_sync_dma_for_cpu/device with dma_inv_range
    csky/dma: Fixup cache_op failed when cross memory ZONEs
    csky: Fixup dma_alloc_coherent with PAGE_SO attribute
    csky: Fixup mb() synchronization problem

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A few fixes that have trickled in through the merge window:

    - Video fixes for OMAP due to panel-dpi driver removal

    - Clock fixes for OMAP that broke no-idle quirks + nfsroot on DRA7

    - Fixing arch version on ASpeed ast2500

    - Two fixes for reset handling on ARM SCMI"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
    ARM: aspeed: ast2500 is ARMv6K
    reset: reset-scmi: add missing handle initialisation
    firmware: arm_scmi: reset: fix reset_state assignment in scmi_domain_reset
    bus: ti-sysc: Remove unpaired sysc_clkdm_deny_idle()
    ARM: dts: logicpd-som-lv: Fix i2c2 and i2c3 Pin mux
    ARM: dts: am3517-evm: Fix missing video
    ARM: dts: logicpd-torpedo-baseboard: Fix missing video
    ARM: omap2plus_defconfig: Fix missing video
    bus: ti-sysc: Fix handling of invalid clocks
    bus: ti-sysc: Fix clock handling for no-idle quirks

    Linus Torvalds
     
  • Pull tracing fixes from Steven Rostedt:
    "A few more tracing fixes:

    - Fix a buffer overflow by checking nr_args correctly in probes

    - Fix a warning that is reported by clang

    - Fix a possible memory leak in error path of filter processing

    - Fix the selftest that checks for failures, but wasn't failing

    - Minor clean up on call site output of a memory trace event"

    * tag 'trace-v5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    selftests/ftrace: Fix same probe error test
    mm, tracing: Print symbol name for call_site in trace events
    tracing: Have error path in predicate_parse() free its allocated memory
    tracing: Fix clang -Wint-in-bool-context warnings in IF_ASSIGN macro
    tracing/probe: Fix to check the difference of nr_args before adding probe

    Linus Torvalds
     
  • Pull more MMC updates from Ulf Hansson:
    "A couple more updates/fixes for MMC:

    - sdhci-pci: Add Genesys Logic GL975x support

    - sdhci-tegra: Recover loss in throughput for DMA

    - sdhci-of-esdhc: Fix DMA bug"

    * tag 'mmc-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: host: sdhci-pci: Add Genesys Logic GL975x support
    mmc: tegra: Implement ->set_dma_mask()
    mmc: sdhci: Let drivers define their DMA mask
    mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence
    mmc: sdhci: improve ADMA error reporting

    Linus Torvalds
     

30 Sep, 2019

12 commits

  • Move the static keyword to the front of declaration of
    csky_pmu_of_device_ids, and resolve the following compiler
    warning that can be seen when building with warnings
    enabled (W=1):

    arch/csky/kernel/perf_event.c:1340:1: warning:
    ‘static’ is not at beginning of declaration [-Wold-style-declaration]

    Signed-off-by: Krzysztof Wilczynski
    Signed-off-by: Guo Ren

    Krzysztof Wilczynski
     
  • Since the enabling and disabling of IRQs within preempt_schedule_irq()
    is contained in a need_resched() loop, we don't need the outer arch
    code loop.

    Signed-off-by: Valentin Schneider
    Signed-off-by: Guo Ren

    Valentin Schneider
     
  • Pull Documentation/process update from Greg KH:
    "Here are two small Documentation/process/embargoed-hardware-issues.rst
    file updates that missed my previous char/misc pull request.

    The first one adds an Intel representative for the process, and the
    second one cleans up the text a bit more when it comes to how the
    disclosure rules work, as it was a bit confusing to some companies"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Documentation/process: Clarify disclosure rules
    Documentation/process: Volunteer as the ambassador for Intel

    Linus Torvalds
     
  • Pull more vfs updates from Al Viro:
    "A couple of misc patches"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    afs dynroot: switch to simple_dir_operations
    fs/handle.c - fix up kerneldoc

    Linus Torvalds
     
  • Pull more cifs updates from Steve French:
    "Fixes from the recent SMB3 Test events and Storage Developer
    Conference (held the last two weeks).

    Here are nine smb3 patches including an important patch for debugging
    traces with wireshark, with three patches marked for stable.

    Additional fixes from last week to better handle some newly discovered
    reparse points, and a fix the create/mkdir path for setting the mode
    more atomically (in SMB3 Create security descriptor context), and one
    for path name processing are still being tested so are not included
    here"

    * tag '5.4-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
    CIFS: Fix oplock handling for SMB 2.1+ protocols
    smb3: missing ACL related flags
    smb3: pass mode bits into create calls
    smb3: Add missing reparse tags
    CIFS: fix max ea value size
    fs/cifs/sess.c: Remove set but not used variable 'capabilities'
    fs/cifs/smb2pdu.c: Make SMB2_notify_init static
    smb3: fix leak in "open on server" perf counter
    smb3: allow decryption keys to be dumped by admin for debugging

    Linus Torvalds
     
  • The csky_pmu.max_period has type u64, and BIT() can only return
    32 bits unsigned long on C-SKY. The initialization for max_period
    will be incorrect when count_width is bigger than 32.

    Use BIT_ULL()

    Signed-off-by: Mao Han
    Signed-off-by: Guo Ren

    Mao Han
     
  • We need set fp zero to let backtrace know the end. The patch fixup perf
    callchain panic problem, because backtrace didn't know what is the end
    of fp.

    Signed-off-by: Guo Ren
    Reported-by: Mao Han

    Guo Ren
     
  • The csky implementation of free_initrd_mem() is an open-coded version of
    free_reserved_area() without poisoning.

    Remove it and make csky use the generic version of free_initrd_mem().

    Signed-off-by: Mike Rapoport
    Signed-off-by: Guo Ren

    Mike Rapoport
     
  • Merge active entropy generation updates.

    This is admittedly partly "for discussion". We need to have a way
    forward for the boot time deadlocks where user space ends up waiting for
    more entropy, but no entropy is forthcoming because the system is
    entirely idle just waiting for something to happen.

    While this was triggered by what is arguably a user space bug with
    GDM/gnome-session asking for secure randomness during early boot, when
    they didn't even need any such truly secure thing, the issue ends up
    being that our "getrandom()" interface is prone to that kind of
    confusion, because people don't think very hard about whether they want
    to block for sufficient amounts of entropy.

    The approach here-in is to decide to not just passively wait for entropy
    to happen, but to start actively collecting it if it is missing. This
    is not necessarily always possible, but if the architecture has a CPU
    cycle counter, there is a fair amount of noise in the exact timings of
    reasonably complex loads.

    We may end up tweaking the load and the entropy estimates, but this
    should be at least a reasonable starting point.

    As part of this, we also revert the revert of the ext4 IO pattern
    improvement that ended up triggering the reported lack of external
    entropy.

    * getrandom() active entropy waiting:
    Revert "Revert "ext4: make __ext4_get_inode_loc plug""
    random: try to actively add entropy rather than passively wait for it

    Linus Torvalds
     
  • This reverts commit 72dbcf72156641fde4d8ea401e977341bfd35a05.

    Instead of waiting forever for entropy that may just not happen, we now
    try to actively generate entropy when required, and are thus hopefully
    avoiding the problem that caused the nice ext4 IO pattern fix to be
    reverted.

    So revert the revert.

    Cc: Ahmed S. Darwish
    Cc: Ted Ts'o
    Cc: Willy Tarreau
    Cc: Alexander E. Patrakov
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • For 5.3 we had to revert a nice ext4 IO pattern improvement, because it
    caused a bootup regression due to lack of entropy at bootup together
    with arguably broken user space that was asking for secure random
    numbers when it really didn't need to.

    See commit 72dbcf721566 (Revert "ext4: make __ext4_get_inode_loc plug").

    This aims to solve the issue by actively generating entropy noise using
    the CPU cycle counter when waiting for the random number generator to
    initialize. This only works when you have a high-frequency time stamp
    counter available, but that's the case on all modern x86 CPU's, and on
    most other modern CPU's too.

    What we do is to generate jitter entropy from the CPU cycle counter
    under a somewhat complex load: calling the scheduler while also
    guaranteeing a certain amount of timing noise by also triggering a
    timer.

    I'm sure we can tweak this, and that people will want to look at other
    alternatives, but there's been a number of papers written on jitter
    entropy, and this should really be fairly conservative by crediting one
    bit of entropy for every timer-induced jump in the cycle counter. Not
    because the timer itself would be all that unpredictable, but because
    the interaction between the timer and the loop is going to be.

    Even if (and perhaps particularly if) the timer actually happens on
    another CPU, the cacheline interaction between the loop that reads the
    cycle counter and the timer itself firing is going to add perturbations
    to the cycle counter values that get mixed into the entropy pool.

    As Thomas pointed out, with a modern out-of-order CPU, even quite simple
    loops show a fair amount of hard-to-predict timing variability even in
    the absense of external interrupts. But this tries to take that further
    by actually having a fairly complex interaction.

    This is not going to solve the entropy issue for architectures that have
    no CPU cycle counter, but it's not clear how (and if) that is solvable,
    and the hardware in question is largely starting to be irrelevant. And
    by doing this we can at least avoid some of the even more contentious
    approaches (like making the entropy waiting time out in order to avoid
    the possibly unbounded waiting).

    Cc: Ahmed Darwish
    Cc: Thomas Gleixner
    Cc: Theodore Ts'o
    Cc: Nicholas Mc Guire
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Willy Tarreau
    Cc: Alexander E. Patrakov
    Cc: Lennart Poettering
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …git/tmlind/linux-omap into arm/fixes

    Fixes for omap variants

    Few fixes for ti-sysc interconnect target module driver for no-idle
    quirks that caused nfsroot to fail on some dra7 boards.

    And let's fixes to get LCD working again for logicpd board that got
    broken a while back with removal of panel-dpi driver. We need to now
    use generic CONFIG_DRM_PANEL_SIMPLE instead.

    * tag 'fixes-5.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    bus: ti-sysc: Remove unpaired sysc_clkdm_deny_idle()
    ARM: dts: logicpd-som-lv: Fix i2c2 and i2c3 Pin mux
    ARM: dts: am3517-evm: Fix missing video
    ARM: dts: logicpd-torpedo-baseboard: Fix missing video
    ARM: omap2plus_defconfig: Fix missing video
    bus: ti-sysc: Fix handling of invalid clocks
    bus: ti-sysc: Fix clock handling for no-idle quirks

    Link: https://lore.kernel.org/r/pull-1568819401-72461@atomide.com
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson