05 Apr, 2019

1 commit

  • The n_r3964 line discipline driver was written in a different time, when
    SMP machines were rare, and users were trusted to do the right thing.
    Since then, the world has moved on but not this code, it has stayed
    rooted in the past with its lovely hand-crafted list structures and
    loads of "interesting" race conditions all over the place.

    After attempting to clean up most of the issues, I just gave up and am
    now marking the driver as BROKEN so that hopefully someone who has this
    hardware will show up out of the woodwork (I know you are out there!)
    and will help with debugging a raft of changes that I had laying around
    for the code, but was too afraid to commit as odds are they would break
    things.

    Many thanks to Jann and Linus for pointing out the initial problems in
    this codebase, as well as many reviews of my attempts to fix the issues.
    It was a case of whack-a-mole, and as you can see, the mole won.

    Reported-by: Jann Horn
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Greg Kroah-Hartman
     

22 Jan, 2019

3 commits

  • Switch PPC32 kernels from the generic_nvram module to the nvram module.

    Also fix a theoretical bug where CHRP omits the chrp_nvram_init() call
    when CONFIG_NVRAM_MODULE=m.

    Tested-by: Stan Johnson
    Signed-off-by: Finn Thain
    Signed-off-by: Greg Kroah-Hartman

    Finn Thain
     
  • Atari RTC NVRAM uses a checksum so implement the remaining arch_nvram_ops
    methods for the set_checksum and initialize ioctls. Enable
    CONFIG_HAVE_ARCH_NVRAM_OPS.

    Acked-by: Geert Uytterhoeven
    Signed-off-by: Finn Thain
    Signed-off-by: Greg Kroah-Hartman

    Finn Thain
     
  • On powerpc, setting CONFIG_NVRAM=n builds a kernel with no NVRAM support.
    Setting CONFIG_NVRAM=m enables the /dev/nvram misc device module without
    enabling NVRAM support in drivers. Setting CONFIG_NVRAM=y enables the
    misc device (built-in) and also enables NVRAM support in drivers.

    m68k shares the valkyriefb driver with powerpc, and since that driver uses
    NVRAM, it is affected by CONFIG_ATARI_SCSI, because of the use of
    "select NVRAM". We can avoid the "select" here, but drivers still have
    to interpret the CONFIG_NVRAM symbol consistently regardless of platform.

    In this patch and the subsequent fbdev driver patch, the convention is
    adopted across all relevant platforms whereby NVRAM functionality gets
    enabled in a given device driver when the nvram misc device is built-in
    or when both drivers are modules.

    Acked-by: Michael Schmitz
    Signed-off-by: Finn Thain
    Signed-off-by: Greg Kroah-Hartman

    Finn Thain
     

10 Nov, 2018

1 commit


28 Oct, 2018

1 commit

  • Pull RTC updates from Alexandre Belloni:
    "This cycle, there were mostly non urgent fixes in drivers. I also
    finally unexported the non managed registration.

    Subsystem:

    - non devm managed registration is now removed from the driver API

    - all the unnecessary rtc_valid_tm() calls have been removed

    Drivers:

    - abx80X: watchdog support

    - cmos: fix non ACPI support

    - sc27xx: fix alarm support

    - Remove a possible sysfs race condition for ab8500, ds1307, ds1685,
    isl1208

    - Fix a possible race condition where an irq handler may be called
    before the rtc_device struct is allocated for mt6397, pl030,
    menelaus, armada38x"

    * tag 'rtc-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (54 commits)
    rtc: sc27xx: Always read normal alarm when registering RTC device
    rtc: sc27xx: Add check to see if need to enable the alarm interrupt
    rtc: sc27xx: Remove interrupts disable and clear in probe()
    rtc: sc27xx: Clear SPG value update interrupt status
    rtc: sc27xx: Set wakeup capability before registering rtc device
    rtc: s35390a: Change buf's type to u8 in s35390a_init
    rtc: ds1307: fix ds1339 wakealarm support
    rtc: ds1685: simplify getting .driver_data
    rtc: m41t80: mark expected switch fall-through
    rtc: tegra: Propagate errors from platform_get_irq()
    rtc: cmos: Remove the `use_acpi_alarm' module parameter for !ACPI
    rtc: cmos: Fix non-ACPI undefined reference to `hpet_rtc_interrupt'
    rtc: mv: let the core handle invalid alarms
    rtc: vr41xx: switch to rtc_time64_to_tm/rtc_tm_to_time64
    rtc: ab8500: remove useless check
    rtc: ab8500: let the core handle range
    rtc: ab8500: use rtc_add_group
    rtc: rs5c348: report error when time is invalid
    rtc: rs5c348: remove forward declaration
    rtc: rs5c348: remove useless label
    ...

    Linus Torvalds
     

08 Sep, 2018

1 commit

  • The old rtc driver is getting in the way of some compat_ioctl
    simplification. Looking up the loongson64 git history, it seems
    that everyone uses the more modern but compatible RTC_CMOS driver
    anyway, so let's remove the special case for loongson64.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     

02 Sep, 2018

1 commit

  • Instead of forcing a distro or other system builder to choose
    at build time whether the CPU is trusted for CRNG seeding via
    CONFIG_RANDOM_TRUST_CPU, provide a boot-time parameter for end users to
    control the choice. The CONFIG will set the default state instead.

    Signed-off-by: Kees Cook
    Signed-off-by: Theodore Ts'o

    Kees Cook
     

25 Jul, 2018

1 commit

  • This gives the user building their own kernel (or a Linux
    distribution) the option of deciding whether or not to trust the CPU's
    hardware random number generator (e.g., RDRAND for x86 CPU's) as being
    correctly implemented and not having a back door introduced (perhaps
    courtesy of a Nation State's law enforcement or intelligence
    agencies).

    This will prevent getrandom(2) from blocking, if there is a
    willingness to trust the CPU manufacturer.

    Signed-off-by: Theodore Ts'o

    Theodore Ts'o
     

16 Jun, 2018

1 commit

  • As we move stuff around, some doc references are broken. Fix some of
    them via this script:
    ./scripts/documentation-file-ref-check --fix

    Manually checked if the produced result is valid, removing a few
    false-positives.

    Acked-by: Takashi Iwai
    Acked-by: Masami Hiramatsu
    Acked-by: Stephen Boyd
    Acked-by: Charles Keepax
    Acked-by: Mathieu Poirier
    Reviewed-by: Coly Li
    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

06 Jun, 2018

1 commit

  • SPARC M7 and newer processors utilize ADI to version and
    protect memory. This driver is capable of reading/writing
    ADI/MCD versions from privileged user space processes.
    Addresses in the adi file are mapped linearly to physical
    memory at a ratio of 1:adi_blksz. Thus, a read (or write)
    of offset K in the file operates upon the ADI version at
    physical address K * adi_blksz. The version information
    is encoded as one version per byte. Intended consumers
    are makedumpfile and crash.

    Signed-off-by: Tom Hromatka
    Reviewed-by: Khalid Aziz
    Reviewed-by: Shannon Nelson
    Reviewed-by: Anthony Yznaga
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    Tom Hromatka
     

05 Apr, 2018

1 commit

  • Pull char/misc updates from Greg KH:
    "Here is the big set of char/misc driver patches for 4.17-rc1.

    There are a lot of little things in here, nothing huge, but all
    important to the different hardware types involved:

    - thunderbolt driver updates

    - parport updates (people still care...)

    - nvmem driver updates

    - mei updates (as always)

    - hwtracing driver updates

    - hyperv driver updates

    - extcon driver updates

    - ... and a handful of even smaller driver subsystem and individual
    driver updates

    All of these have been in linux-next with no reported issues"

    * tag 'char-misc-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (149 commits)
    hwtracing: Add HW tracing support menu
    intel_th: Add ACPI glue layer
    intel_th: Allow forcing host mode through drvdata
    intel_th: Pick up irq number from resources
    intel_th: Don't touch switch routing in host mode
    intel_th: Use correct method of finding hub
    intel_th: Add SPDX GPL-2.0 header to replace GPLv2 boilerplate
    stm class: Make dummy's master/channel ranges configurable
    stm class: Add SPDX GPL-2.0 header to replace GPLv2 boilerplate
    MAINTAINERS: Bestow upon myself the care for drivers/hwtracing
    hv: add SPDX license id to Kconfig
    hv: add SPDX license to trace
    Drivers: hv: vmbus: do not mark HV_PCIE as perf_device
    Drivers: hv: vmbus: respect what we get from hv_get_synint_state()
    /dev/mem: Avoid overwriting "err" in read_mem()
    eeprom: at24: use SPDX identifier instead of GPL boiler-plate
    eeprom: at24: simplify the i2c functionality checking
    eeprom: at24: fix a line break
    eeprom: at24: tweak newlines
    eeprom: at24: refactor at24_probe()
    ...

    Linus Torvalds
     

26 Mar, 2018

3 commits


16 Mar, 2018

1 commit

  • /dev/nvram was never meant to be used alongside the RTC CMOS driver from
    drivers/rtc as it already expose the NVRAM through another interface..
    Anyway, the last defconfig to enable it properly was removed in 2010 so
    prevent ARM users from selecting it.

    Signed-off-by: Alexandre Belloni
    Acked-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Alexandre Belloni
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

24 Aug, 2017

1 commit

  • Lguest seems to be rather unused these days. It has seen only patches
    ensuring it still builds the last two years and its official state is
    "Odd Fixes".

    Remove it in order to be able to clean up the paravirt code.

    Signed-off-by: Juergen Gross
    Acked-by: Rusty Russell
    Acked-by: Thomas Gleixner
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: boris.ostrovsky@oracle.com
    Cc: lguest@lists.ozlabs.org
    Cc: rusty@rustcorp.com.au
    Cc: xen-devel@lists.xenproject.org
    Link: http://lkml.kernel.org/r/20170816173157.8633-3-jgross@suse.com
    Signed-off-by: Ingo Molnar

    Juergen Gross
     

06 Jul, 2017

1 commit

  • Pull arm64 updates from Will Deacon:

    - RAS reporting via GHES/APEI (ACPI)

    - Indirect ftrace trampolines for modules

    - Improvements to kernel fault reporting

    - Page poisoning

    - Sigframe cleanups and preparation for SVE context

    - Core dump fixes

    - Sparse fixes (mainly relating to endianness)

    - xgene SoC PMU v3 driver

    - Misc cleanups and non-critical fixes

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (75 commits)
    arm64: fix endianness annotation for 'struct jit_ctx' and friends
    arm64: cpuinfo: constify attribute_group structures.
    arm64: ptrace: Fix incorrect get_user() use in compat_vfp_set()
    arm64: ptrace: Remove redundant overrun check from compat_vfp_set()
    arm64: ptrace: Avoid setting compat FP[SC]R to garbage if get_user fails
    arm64: fix endianness annotation for __apply_alternatives()/get_alt_insn()
    arm64: fix endianness annotation in get_kaslr_seed()
    arm64: add missing conversion to __wsum in ip_fast_csum()
    arm64: fix endianness annotation in acpi_parking_protocol.c
    arm64: use readq() instead of readl() to read 64bit entry_point
    arm64: fix endianness annotation for reloc_insn_movw() & reloc_insn_imm()
    arm64: fix endianness annotation for aarch64_insn_write()
    arm64: fix endianness annotation in aarch64_insn_read()
    arm64: fix endianness annotation in call_undef_hook()
    arm64: fix endianness annotation for debug-monitors.c
    ras: mark stub functions as 'inline'
    arm64: pass endianness info to sparse
    arm64: ftrace: fix !CONFIG_ARM64_MODULE_PLTS kernels
    arm64: signal: Allow expansion of the signal frame
    acpi: apei: check for pending errors when probing GHES entries
    ...

    Linus Torvalds
     

20 Jun, 2017

1 commit

  • As it turns out, arm64 deviates from other architectures in the way it
    maps the VMALLOC region: on most (all?) other architectures, it resides
    strictly above the kernel's direct mapping of DRAM, but on arm64, this
    is the other way around. For instance, for a 48-bit VA configuration,
    we have

    modules : 0xffff000000000000 - 0xffff000008000000 ( 128 MB)
    vmalloc : 0xffff000008000000 - 0xffff7dffbfff0000 (129022 GB)
    ...
    vmemmap : 0xffff7e0000000000 - 0xffff800000000000 ( 2048 GB maximum)
    0xffff7e0000000000 - 0xffff7e0003ff0000 ( 63 MB actual)
    memory : 0xffff800000000000 - 0xffff8000ffc00000 ( 4092 MB)

    This has mostly gone unnoticed until now, but it does appear that it
    breaks an assumption in the kmem read/write code, which does something
    like

    if (p < (unsigned long) high_memory) {
    ... use straight copy_[to|from]_user() using p as virtual address ...
    }
    ...
    if (count > 0) {
    ... use vread/vwrite for accesses past high_memory ...
    }

    The first condition will inadvertently hold for the VMALLOC region if
    VMALLOC_START < PAGE_OFFSET [which is the case on arm64], but the read
    or write will subsequently fail the virt_addr_valid() check, resulting
    in a -ENXIO return value.

    Given how kmem seems to be living in borrowed time anyway, and given
    the fact that nobody noticed that the read/write interface is broken
    on arm64 in the first place, let's not bother trying to fix it, but
    simply disable the /dev/kmem interface entirely for arm64.

    Acked-by: Mark Rutland
    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Will Deacon

    Ard Biesheuvel
     

26 May, 2017

1 commit

  • This driver supports direct system clock access on the ancient SGI SN2
    IA64 systems, and implement the only non-builtin k_clock instance.
    Remove it as any remaining IA64 altix user will be running just as old
    distros anyway.

    Dimitri Sivanich stated: "Since this is SN2 specific, this can be removed."

    Note that this does not affect the never uv_mmtimer driver for x86-based
    Altix systems.

    [ tglx: Added comment to CLOCK_SGI_CYCLE ]

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Thomas Gleixner
    Cc: Mike Travis
    Cc: Dimitri Sivanich
    Link: http://lkml.kernel.org/r/20170526090311.3377-2-hch@lst.de

    Christoph Hellwig
     

23 Feb, 2017

1 commit

  • Pull tty/serial driver updates from Greg KH:
    "Here is the big tty/serial driver patchset for 4.11-rc1.

    Not much here, but a lot of little fixes and individual serial driver
    updates all over the subsystem. Majority are for the sh-sci driver and
    platform (the arch-specific changes have acks from the maintainer).

    The start of the "serial bus" code is here as well, but nothing is
    converted to use it yet. That work is still ongoing, hopefully will
    start to show up across different subsystems for 4.12 (bluetooth is
    one major place that will be used.)

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (109 commits)
    tty: pl011: Work around QDF2400 E44 stuck BUSY bit
    atmel_serial: Use the fractional divider when possible
    tty: Remove extra include in HVC console tty framework
    serial: exar: Enable MSI support
    serial: exar: Move register defines from uapi header to consumer site
    serial: pci: Remove unused pci_boards entries
    serial: exar: Move Commtech adapters to 8250_exar as well
    serial: exar: Fix feature control register constants
    serial: exar: Fix initialization of EXAR registers for ports > 0
    serial: exar: Fix mapping of port I/O resources
    serial: sh-sci: fix hardware RX trigger level setting
    tty/serial: atmel: ensure state is restored after suspending
    serial: 8250_dw: Avoid "too much work" from bogus rx timeout interrupt
    serdev: ttyport: check whether tty_init_dev() fails
    serial: 8250_pci: make pciserial_detach_ports() static
    ARM: dts: STiH410-b2260: Enable HW flow-control
    ARM: dts: STiH407-family: Use new Pinctrl groups
    ARM: dts: STiH407-pinctrl: Add Pinctrl group for HW flow-control
    ARM: dts: STiH410-b2260: Identify the UART RTS line
    dt-bindings: serial: Update 'uart-has-rtscts' description
    ...

    Linus Torvalds
     

03 Feb, 2017

1 commit

  • The serdev bus is designed for devices such as Bluetooth, WiFi, GPS
    and NFC connected to UARTs on host processors. Tradionally these have
    been handled with tty line disciplines, rfkill, and userspace glue such
    as hciattach. This approach has many drawbacks since it doesn't fit
    into the Linux driver model. Handling of sideband signals, power control
    and firmware loading are the main issues.

    This creates a serdev bus with controllers (i.e. host serial ports) and
    attached devices. Typically, these are point to point connections, but
    some devices have muxing protocols or a h/w mux is conceivable. Any
    muxing is not yet supported with the serdev bus.

    Signed-off-by: Rob Herring
    Reviewed-By: Sebastian Reichel
    Tested-By: Sebastian Reichel
    Signed-off-by: Greg Kroah-Hartman

    Rob Herring
     

11 Jan, 2017

1 commit

  • Without a bool string present, using "# CONFIG_DEVPORT is not set" in
    defconfig files would not actually unset devport. This esnured that
    /dev/port was always on, but there are reasons a user may wish to
    disable it (smaller kernel, attack surface reduction) if it's not being
    used. Adding a message here in order to make this user visible.

    Signed-off-by: Max Bires
    Acked-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Max Bires
     

14 Dec, 2016

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver patches for 4.10-rc1. Lots of tiny
    changes over lots of "minor" driver subsystems, the largest being some
    new FPGA drivers. Other than that, a few other new drivers, but no new
    driver subsystems added for this kernel cycle, a nice change.

    All of these have been in linux-next with no reported issues"

    * tag 'char-misc-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (107 commits)
    uio-hv-generic: store physical addresses instead of virtual
    Tools: hv: kvp: configurable external scripts path
    uio-hv-generic: new userspace i/o driver for VMBus
    vmbus: add support for dynamic device id's
    hv: change clockevents unbind tactics
    hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
    hyperv: Fix spelling of HV_UNKOWN
    mei: bus: enable non-blocking RX
    mei: fix the back to back interrupt handling
    mei: synchronize irq before initiating a reset.
    VME: Remove shutdown entry from vme_driver
    auxdisplay: ht16k33: select framebuffer helper modules
    MAINTAINERS: add git url for fpga
    fpga: Clarify how write_init works streaming modes
    fpga zynq: Fix incorrect ISR state on bootup
    fpga zynq: Remove priv->dev
    fpga zynq: Add missing \n to messages
    fpga: Add COMPILE_TEST to all drivers
    uio: pruss: add clk_disable()
    char/pcmcia: add some error checking in scr24x_read()
    ...

    Linus Torvalds
     

16 Nov, 2016

1 commit

  • Some embedded systems have no use for them. This removes about
    25KB from the kernel binary size when configured out.

    Corresponding syscalls are routed to a stub logging the attempt to
    use those syscalls which should be enough of a clue if they were
    disabled without proper consideration. They are: timer_create,
    timer_gettime: timer_getoverrun, timer_settime, timer_delete,
    clock_adjtime, setitimer, getitimer, alarm.

    The clock_settime, clock_gettime, clock_getres and clock_nanosleep
    syscalls are replaced by simple wrappers compatible with CLOCK_REALTIME,
    CLOCK_MONOTONIC and CLOCK_BOOTTIME only which should cover the vast
    majority of use cases with very little code.

    Signed-off-by: Nicolas Pitre
    Acked-by: Richard Cochran
    Acked-by: Thomas Gleixner
    Acked-by: John Stultz
    Reviewed-by: Josh Triplett
    Cc: Paul Bolle
    Cc: linux-kbuild@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: Michal Marek
    Cc: Edward Cree
    Link: http://lkml.kernel.org/r/1478841010-28605-7-git-send-email-nicolas.pitre@linaro.org
    Signed-off-by: Thomas Gleixner

    Nicolas Pitre
     

10 Nov, 2016

1 commit


28 Oct, 2016

1 commit


05 Aug, 2016

1 commit

  • Pull RTC updates from Alexandre Belloni:
    "RTC for 4.8

    Cleanups:
    - huge cleanup of rtc-generic and char/genrtc this allowed to cleanup
    rtc-cmos, rtc-sh, rtc-m68k, rtc-powerpc and rtc-parisc
    - move mn10300 to rtc-cmos

    Subsystem:
    - fix wakealarms after hibernate
    - multiples fixes for rctest
    - simplify implementations of .read_alarm

    New drivers:
    - Maxim MAX6916

    Drivers:
    - ds1307: fix weekday
    - m41t80: add wakeup support
    - pcf85063: add support for PCF85063A variant
    - rv8803: extend i2c fix and other fixes
    - s35390a: fix alarm reading, this fixes instant reboot after
    shutdown for QNAP TS-41x
    - s3c: clock fixes"

    * tag 'rtc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (65 commits)
    rtc: rv8803: Clear V1F when setting the time
    rtc: rv8803: Stop the clock while setting the time
    rtc: rv8803: Always apply the I²C workaround
    rtc: rv8803: Fix read day of week
    rtc: rv8803: Remove the check for valid time
    rtc: rv8803: Kconfig: Indicate rx8900 support
    rtc: asm9260: remove .owner field for driver
    rtc: at91sam9: Fix missing spin_lock_init()
    rtc: m41t80: add suspend handlers for alarm IRQ
    rtc: m41t80: make it a real error message
    rtc: pcf85063: Add support for the PCF85063A device
    rtc: pcf85063: fix year range
    rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy
    rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
    rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq()
    rtc: s3c: Remove unnecessary call to disable already disabled clock
    rtc: abx80x: use devm_add_action_or_reset()
    rtc: m41t80: use devm_add_action_or_reset()
    rtc: fix a typo and reduce three empty lines to one
    rtc: s35390a: improve two comments in .set_alarm
    ...

    Linus Torvalds
     

29 Jun, 2016

1 commit

  • Implement new character device driver to allow access from user space
    to the operator panel display present on IBM Power Systems machines
    with FSPs.

    This will allow status information to be presented on the display which
    is visible to a user.

    The driver implements a character buffer which a user can read/write
    by accessing the device (/dev/op_panel). This buffer is then displayed on
    the operator panel display. Any attempt to write past the last character
    position will have no effect and attempts to write more characters than
    the size of the display will be truncated. The device may only be accessed
    by a single process at a time.

    Signed-off-by: Suraj Jitindar Singh
    Reviewed-by: Andrew Donnellan
    Signed-off-by: Michael Ellerman

    Suraj Jitindar Singh
     

26 Jun, 2016

1 commit

  • nn10300 has a dependency on mc146818_get_time/mc146818_set_time,
    which we want to move from the mc146818rtc.h header into the
    rtc subsystem, which in turn is not usable on mn10300.

    This changes mn10300 to use the modern rtc-cmos driver instead
    of the old RTC driver, and that in turn lets us completely
    remove the read_persistent_clock/update_persistent_clock callbacks.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     

04 Jun, 2016

7 commits

  • No architecture uses the genrtc driver any more, so let's kill it off
    for good. This now also includes asm-generic/rtc.h, which is otherwise
    completely unused.

    Signed-off-by: Arnd Bergmann
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     
  • PowerPC is the last architecture using the GEN_RTC driver on some
    machines, but we can migrate them all to using the RTC_DRV_GENERIC
    driver instead now.

    This moves over the CONFIG_GEN_RTC option from drivers/char into
    arch/powerpc/platforms/Kconfig and makes it just select the
    replacement driver instead, for the only reason of not breaking
    existing defconfig and .config files that users may have.

    Signed-off-by: Arnd Bergmann
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     
  • The asm/rtc.h header is only used for the old gen_rtc driver
    that has been replaced by rtc-generic. According to Geert
    Uytterhoeven, nobody has used the old driver on m68k for
    a long time, so we can now just remove the header file
    and disallow the driver in Kconfig.

    All files that used to include asm/rtc.h are now changed so
    they include the headers that were used implicitly through
    asm/rtc.h.

    Signed-off-by: Arnd Bergmann
    Acked-by: Geert Uytterhoeven
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     
  • This architecture selects RTC_CLASS unconditionally, so the GEN_RTC
    has not worked here for a long time.

    Now we can remove both the asm/rtc.h header and the Kconfig dependency
    for CONFIG_GEN_RTC.

    Signed-off-by: Arnd Bergmann
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     
  • The genrtc driver serves no purpose on mn10300 because it drives the
    same hardware as the original rtc.c driver, and the newer rtc-generic.c
    or rtc-cmos.c drivers on architectures that use the asm-generic/rtc.h
    header.

    I assume it was initially only added for completeness when the
    mn10300 port was done, but the older rtc.c driver was always used
    instead.

    We can also stop include asm-generic/rtc.h now, because we
    just call mc146818_set_time() directly.

    It would be nice to change the architecture to use the rtc-cmos driver
    next, and remove support for the old rtc driver as well.

    [linux@roeck-us.net: Add missing include file to proc-init.c]
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Guenter Roeck
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     
  • The genrtc driver serves no purpose on Alpha because it drives the
    same hardware as the original rtc.c driver, and the newer rtc-generic.c
    or rtc-cmos.c drivers on architectures that use the asm-generic/rtc.h
    header.

    The defconfig uses CONFIG_RTC=y, so this driver is not used by default.
    At one point it was used to abstract a quirk for the "Marvel" platform,
    but it does not do this any more after the code was moved into yet
    another driver in arch/alpha/kernel/rtc.c.

    Signed-off-by: Arnd Bergmann
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     
  • Commit 3195ef59cb42 ("x86: Do full rtc synchronization with ntp") had
    the side-effect of unconditionally enabling the RTC_LIB symbol on x86,
    which in turn disables the selection of the CONFIG_RTC and
    CONFIG_GEN_RTC drivers that contain a two older implementations of
    the CONFIG_RTC_DRV_CMOS driver.

    This removes x86 from the list for genrtc, and changes all references
    to the asm/rtc.h header to instead point to the interfaces
    from linux/mc146818rtc.h.

    Signed-off-by: Arnd Bergmann
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Alexandre Belloni

    Arnd Bergmann
     

02 May, 2016

2 commits

  • According to full-history-linux commit d3794f4fa7c3edc3 ("[PATCH] M68k
    update (part 25)"), port operations are allowed on m68k if CONFIG_ISA is
    defined.

    However, commit 153dcc54df826d2f ("[PATCH] mem driver: fix conditional
    on isa i/o support") accidentally changed an "||" into an "&&",
    disabling it completely on m68k. This logic was retained when
    introducing the DEVPORT symbol in commit 4f911d64e04a44c4 ("Make
    /dev/port conditional on config symbol").

    Drop the bogus dependency on !M68K to fix this.

    Fixes: 153dcc54df826d2f ("[PATCH] mem driver: fix conditional on isa i/o support")
    Signed-off-by: Geert Uytterhoeven
    Tested-by: Al Stone
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • Every new architecture has to add itself to the growing list of those
    that do not support the legacy PC RTC driver.

    This replaces the long list of architectures that don't support it
    with a shorter list of those that do.

    The list is taken from those architectures that have a non-empty
    asm/mc146818rtc.h header file and were not explicitly blacklisted
    or select RTC_LIB.

    Alpha and Loongson64 can already choose between this driver and
    an rtc-class based one. mn10300 is actually the only architecture
    now that still requires this driver, and that should be fairly
    easy to change to use rtc-cmos if we want to kill off rtc.ko
    for good.

    Signed-off-by: Arnd Bergmann
    Acked-by: Alexandre Belloni
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann