14 Oct, 2014

20 commits

  • Commit b5ada4600dfd ("drivers/rtc/rtc-cmos.c: fix compilation warning
    when !CONFIG_PM_SLEEP") broke wakeup from S5 by making cmos_poweroff a
    nop unless CONFIG_PM_SLEEP was defined.

    Fix this by restricting the #ifdef to cmos_resume and restoring the old
    dependency on CONFIG_PM for cmos_suspend and cmos_poweroff.

    Signed-off-by: Daniel Glöckner
    Cc: Mika Westerberg
    Cc: Alessandro Zummo
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Glöckner
     
  • Some drivers need 'devm_ioremap_resource' or 'devm_ioremap' which need
    HAS_IOMEM, so let them depend on it.

    The related error (with allmodconfig under score):

    MODPOST 1365 modules
    ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-xgene.ko] undefined!
    ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-stk17ta8.ko] undefined!
    ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1742.ko] undefined!
    ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1553.ko] undefined!
    ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1511.ko] undefined!
    ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1286.ko] undefined!
    ERROR: "devm_ioremap" [drivers/rtc/rtc-rp5c01.ko] undefined!
    ERROR: "devm_ioremap" [drivers/rtc/rtc-msm6242.ko] undefined!
    ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t59.ko] undefined!
    ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t35.ko] undefined!
    ERROR: "devm_ioremap" [drivers/rtc/rtc-bq4802.ko] undefined!

    Signed-off-by: Chen Gang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gang
     
  • Instead of pushing each byte let's reduce stack usage by using %*ph specifier.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • As pointed out by Sergei Shtylyov, the pcf8563_irq function contains a
    bug in the error handling: an interrupt handler is not supposed to
    return an errno value but an 'enum irqreturn'.

    Let's fix this by returning IRQ_NONE in case of a communication error.

    Signed-off-by: Arnd Bergmann
    Cc: Sergei Shtylyov
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • gcc-4.9 found a potential condition under which the 'pending' variable
    may be used uninitialized:

    drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_irq':
    drivers/rtc/rtc-pcf8563.c:173:5: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized]

    This is because in the pcf8563_get_alarm_mode() function, we check any
    nonzero return of pcf8563_read_block_data, but in the irq function we
    only check for negative values, so a possible positive value does not
    get detected if the compiler chooses not to inline the entire call
    chain.

    Checking for any non-zero value in the interrupt handler as well is just
    as correct and lets the compiler know what we are doing, without needing
    a bogus initialization.

    Signed-off-by: Arnd Bergmann
    Cc: Sergei Shtylyov
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • The MAX7802 PMIC has a Real-Time-Clock (RTC) with two alarms. This
    patch adds support for the RTC and is based on a driver added by Simon
    Glass to the Chrome OS kernel 3.8 tree.

    [akpm@linux-foundation.org: add comment clarifying ffs() use]
    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Cc: Doug Anderson
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Cc: Simon Glass
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     
  • max77686_rtc_calculate_wday() is used to calculate the day of the week
    to be filled in struct rtc_time but that function only calculates the
    number of bits shifted. So the ffs() function can be used to find the
    first bit set instead of a special function.

    [akpm@linux-foundation.org: add comment clarifying ffs() use]
    Signed-off-by: Javier Martinez Canillas
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     
  • If devm_rtc_device_register() fails a dev_err() is already reported so
    there is no need to do an additional dev_info().

    Signed-off-by: Javier Martinez Canillas
    Cc: Doug Anderson
    Cc: Krzysztof Kozlowski
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     
  • The max77686 mfd driver adds a regmap IRQ chip which creates an IRQ
    domain that is used to map the virtual RTC alarm1 interrupt.

    The RTC driver assumes that this will always be true since the PMIC IRQ
    is a required property according to the max77686 DT binding doc. If an
    "interrupts" property is not defined for a max77686 PMIC, then the mfd
    probe function will fail and the RTC platform driver will never be
    probed.

    But even when it is not possible to probe the rtc-max77686 driver
    without a regmap IRQ chip, it's better to explicitly check if the IRQ
    chip data is not NULL and gracefully fail instead of getting an OOPS.

    Signed-off-by: Javier Martinez Canillas
    Reported-by: Krzysztof Kozlowski
    Cc: Doug Anderson
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     
  • The MAX77686 RTC chip has two features called SMPL (Sudden Momentary
    Power Loss) and WTSR (Watchdog Timeout and Software Resets). Support
    for these features seems to be implemented in the driver but compilation
    is disabled using a C pre-processor conditional.

    This code has been disabled since the driver was original merged in
    commit fca1dd031a28 ("rtc: max77686: add Maxim 77686 driver").

    So, since this code has never been built, let's just remove it.

    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Cc: Doug Anderson
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     
  • This series add support for the Real Time clock present in the Maxim 77802
    Power Managment IC. The version number is quite high because it
    previously was part of a bigger series [0] that aimed to add support for
    all the devices in the max77802 PMIC. But now that the max77802
    dependencies were already merged for 3.17, the series were split but I
    kept the version numbering.

    While working on the max77802 rtc support a lot of feedback was given and
    the issues pointed out also apply to a driver for a similar PMIC RTC
    (max77686). So patches 01/06 to 05/06 in the series are cleanups for the
    max77686 driver and patch 06/06 adds the support for the max77802 RTC.

    The series were tested on an Exynos5250 Snow (max77686) and
    Exynos5420 Peach Pit (max77802) machines.

    This patch (of 6):

    The max77686 includes an RTC that keeps power during suspend. It's
    convenient to be able to use it as a wakeup source.

    Signed-off-by: Doug Anderson
    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Anderson
     
  • BQ32000 devices have "trickle chargers". Introduce a code to enable the
    charger, based on device tree.

    Without charger, RTC does not keep time after power off.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Pavel Machek
    Cc: Jason Cooper
    Cc: Matti Vaittinen
    Cc: Rob Herring
    Cc: Ian Campbell
    Cc: Alessandro Zummo
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • Some DS13XX devices have "trickle chargers". Introduce a device tree
    binding for specifying the trickle charger configuration for ds1339.

    Only ds1339 dt binding is supported because this is the only chip I have.
    I _assume_ the code would have worked on other allready supported chips.
    However I cannot check the resistor values for the other chips or test
    them. For other chips the driver code works as earlier Eg. it does not
    check the dt bindings at all

    Signed-off-by: Matti Vaittinen
    Cc: Rob Herring
    Cc: Pawel Moll
    Cc: Jason Cooper
    Cc: Guenter Roeck
    Cc: Alessandro Zummo
    Cc: Mark Rutland
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matti Vaittinen
     
  • This is the initial version of the RK808 PMIC. This is a power management
    IC for multimedia products. It provides regulators that are able to
    supply power to processor cores and other components. The chip provides
    other modules including RTC, Clockout.

    Add RTC driver for supporting RTC device present inside RK808 PMIC.

    [akpm@linux-foundation.org: make tm_def static]
    Signed-off-by: Chris Zhong
    Signed-off-by: Zhang Qing
    Tested-by: Heiko Stuebner
    Reviewed-by: Doug Anderson
    Tested-by: Doug Anderson
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Samuel Ortiz says:
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Cc: Dmitry Torokhov
    Cc: Javier Martinez Canillas
    Cc: Kever Yang
    Cc: Li Zhong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Zhong
     
  • of_device_ids (i.e. compatible strings and the respective data) are not
    supposed to change at runtime. All functions working with of_device_ids
    provided by work with const of_device_ids. This allows to
    mark all struct of_device_id below drivers/rtc const, too.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     
  • Add support for RTC of Exynos3250 SoC. The Exynos3250 needs source
    clock(32.768KHz) for RTC block. If source clock of RTC is registerd on
    clock list of common clk framework, Exynos RTC drvier have to control
    this clock.

    Clock list for s3c-rtc device:
    - rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC.
    - rtc_src : XrtcXTI is 32.768.kHz source clock for RTC.
    (XRTCXTI: Specifies a clock from 32.768 kHz crystal pad with XRTCXTI and
    XRTCXTO pins. RTC uses this clock as the source of a real-time clock.)

    Signed-off-by: Chanwoo Choi
    Acked-by: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chanwoo Choi
     
  • Add s3c_rtc_data structure to variant data according to SoC type. The
    s3c_rtc_data structure includes some functions to control RTC operation
    and specific data dependent on SoC type.

    Signed-off-by: Chanwoo Choi
    Acked-by: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chanwoo Choi
     
  • Remove warning message when checking codeing style with checkpatch script
    and reduce un-necessary i2c read operation on s3c_rtc_enable.

    WARNING: line over 80 characters
    #406: FILE: drivers/rtc/rtc-s3c.c:406:
    + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0) {

    WARNING: line over 80 characters
    #414: FILE: drivers/rtc/rtc-s3c.c:414:
    + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)) {

    WARNING: line over 80 characters
    #422: FILE: drivers/rtc/rtc-s3c.c:422:
    + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)) {

    WARNING: Missing a blank line after declarations
    #451: FILE: drivers/rtc/rtc-s3c.c:451:
    + struct s3c_rtc_drv_data *data;
    + if (pdev->dev.of_node) {

    WARNING: Missing a blank line after declarations
    #453: FILE: drivers/rtc/rtc-s3c.c:453:
    + const struct of_device_id *match;
    + match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);

    WARNING: DT compatible string "samsung,s3c2416-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/
    #650: FILE: drivers/rtc/rtc-s3c.c:650:
    + .compatible = "samsung,s3c2416-rtc",

    WARNING: DT compatible string "samsung,s3c2443-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/
    #653: FILE: drivers/rtc/rtc-s3c.c:653:
    + .compatible = "samsung,s3c2443-rtc",

    Signed-off-by: Chanwoo Choi
    Acked-by: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chanwoo Choi
     
  • Define s3c_rtc structure including necessary variables for S3C RTC device
    instead of global variables. This patch improves the readability by
    removing global variables.

    Signed-off-by: Chanwoo Choi
    Acked-by: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chanwoo Choi
     
  • Use c99 initializers for structures.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @decl@
    identifier i1,fld;
    type T;
    field list[n] fs;
    @@

    struct i1 {
    fs
    T fld;
    ...};

    @bad@
    identifier decl.i1,i2;
    expression e;
    initializer list[decl.n] is;
    @@

    struct i1 i2 = { is,
    + .fld = e
    - e
    ,...};
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julia Lawall
     

09 Oct, 2014

2 commits

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "These are changes for drivers that are intimately tied to some SoC and
    for some reason could not get merged through the respective subsystem
    maintainer tree.

    Most of the new code is for the Keystone Navigator driver, which is
    new base support that is going to be needed for their hardware
    accelerated network driver and other units.

    Most of the commits are for moving old code around from at91 and omap
    for things that are done in device drivers nowadays.

    - at91: move reset, poweroff, memory and clocksource code into
    drivers directories
    - socfpga: add edac driver (through arm-soc, as requested by Boris)
    - omap: move omap-intc code to drivers/irqchip
    - sunxi: added an RTC driver for sun6i
    - omap: mailbox driver related changes
    - keystone: support for the "Navigator" component
    - versatile: new reboot, led and soc drivers"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
    bus: arm-ccn: Fix spurious warning message
    leds: add device tree bindings for register bit LEDs
    soc: add driver for the ARM RealView
    power: reset: driver for the Versatile syscon reboot
    leds: add a driver for syscon-based LEDs
    drivers/soc: ti: fix build break with modules
    MAINTAINERS: Add Keystone Multicore Navigator drivers entry
    soc: ti: add Keystone Navigator DMA support
    Documentation: dt: soc: add Keystone Navigator DMA bindings
    soc: ti: add Keystone Navigator QMSS driver
    Documentation: dt: soc: add Keystone Navigator QMSS bindings
    rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
    rtc: sun6i: Add sun6i RTC driver
    irqchip: omap-intc: remove unnecessary comments
    irqchip: omap-intc: correct maximum number or MIR registers
    irqchip: omap-intc: enable TURBO idle mode
    irqchip: omap-intc: enable IP protection
    irqchip: omap-intc: remove unnecesary of_address_to_resource() call
    irqchip: omap-intc: comment style cleanup
    irqchip: omap-intc: minor improvement to omap_irq_pending()
    ...

    Linus Torvalds
     
  • Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
    "These are bug fixes for harmless problems that were not important
    enough to get fixed in 3.17. The majority of these are OMAP specific,
    but there are also a couple for Marvell mvebu, cns3xxx, and others, as
    well as some updates for the MAINTAINERS file.

    In particular, Robert Jarzmik and Daniel Mack now volunteered to help
    out maintaining the PXA platform, Krzysztof Halasa took over the
    cns3xxx platform, Carlo Caione is the maintainer for the new Amlogic
    meson platform, and Matthias Brugger is now listed for the mediatek
    platform he recently contributed"

    * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
    MAINTAINERS: update Shawn's email address
    MAINTAINERS: condense some Tegra related entries
    MAINTAINERS: add Alexandre Courbot for Tegra
    MAINTAINERS: CNS3xxx and IXP4xx update.
    MAINTAINERS: Add maintainers entry for Mediatek SoCs
    arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500
    MAINTAINERS: add a third maintainer to mach-bcm
    CNS3xxx: Fix PCIe read size limit.
    CNS3xxx: Fix logical PCIe topology.
    CNS3xxx: Fix debug UART.
    MAINTAINERS: Add entry for the Amlogic MesonX SoCs
    MAINTAINERS: update ARM pxa maintainers
    ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks
    ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings
    ARM: mvebu: Netgear RN102: Use Hardware BCH ECC
    ARM: Kirkwood: Fix DT based DSA.
    ARM: OMAP2+: make of_device_ids const
    ARM: omap2: make arrays containing machine compatible strings const
    ARM: LPC32xx: Fix reset function
    ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC
    ...

    Linus Torvalds
     

26 Sep, 2014

2 commits


24 Sep, 2014

1 commit

  • Merge "mvebu fixes for v3.17" from Jason Cooper:

    - kirkwood
    - final driver cleanup of ARCH_KIRKWOOD removal
    - fix DT based DSA

    - mvebu
    - use BCH ECC for the RN2120 and RN104/2 nand chips

    * tag 'mvebu-fixes-3.17' of git://git.infradead.org/linux-mvebu:
    ARM: mvebu: Netgear RN102: Use Hardware BCH ECC
    ARM: Kirkwood: Fix DT based DSA.
    ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC
    ARM: mvebu: Netgear RN104: Use Hardware BCH ECC
    cpufreq: Remove ARCH_KIRKWOOD dependency
    watchdog: Remove ARCH_KIRKWOOD dependency
    rtc: Remove ARCH_KIRKWOOD dependency
    leds: Remove ARCH_KIRKWOOD dependency
    thermal: Remove ARCH_KIRKWOOD dependency
    ata: Remove ARCH_KIRKWOOD dependency
    cpuidle: kirkwood: Remove ARCH_KIRKWOOD dependency

    Olof Johansson
     

19 Sep, 2014

2 commits

  • Now that we have Kconfig options for individual sunxi platforms, let
    the rtc-sunxi driver depend on the platforms that actually have this
    hardware, sun4i and sun7i.

    Signed-off-by: Chen-Yu Tsai
    Signed-off-by: Maxime Ripard

    Chen-Yu Tsai
     
  • This patch introduces the driver for the RTC in the Allwinner A31 and
    A23 SoCs.

    Unlike the RTC found in A10/A20 SoCs, which was part of the timer, the
    RTC in A31/A23 are a separate hardware block, which also contain a few
    controls for the RTC block hardware (a regulator and RTC block GPIO pin
    latches), while also having separate interrupts for the alarms.

    The hardware is different enough to make a different driver for it.

    Signed-off-by: Chen-Yu Tsai
    Reviewed-by: Varka Bhadram
    Signed-off-by: Maxime Ripard

    Chen-Yu Tsai
     

09 Sep, 2014

1 commit

  • mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu.
    ARCH_MVEBU is sufficient.

    Signed-off-by: Andrew Lunn
    Cc: Alessandro Zummo
    Cc: rtc-linux@googlegroups.com
    Link: https://lkml.kernel.org/r/1409417172-6846-6-git-send-email-andrew@lunn.ch
    Signed-off-by: Jason Cooper

    Andrew Lunn
     

30 Aug, 2014

1 commit

  • The rtc-s5m driver used to support devices without irq specified in the
    past. Re-add this support.

    The patch fixes boot for Insignal's Exynos4412 based Origen board.

    Error messages before the patch:

    ...
    Unable to handle kernel NULL pointer dereference at virtual address 00000094
    pgd = c0004000
    [00000094] *pgd=00000000
    Internal error: Oops: 5 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.16.0-next-20140804-00008-ga59480f-dirty #701
    task: ea80f000 ti: ea882000 task.ti: ea882000
    PC is at regmap_irq_get_virq+0x0/0x28
    LR is at s5m_rtc_probe+0xdc/0x310
    pc : [] lr : [] psr: 80000153
    sp : ea883e48 ip : 00000000 fp : 00000000
    r10: 0000000c r9 : c05de7ac r8 : eaabc600
    r7 : eaa6b4d0 r6 : c0439e8c r5 : eaabc610 r4 : eab30e50
    r3 : 00000000 r2 : 00000000 r1 : 0000000c r0 : 00000000
    Flags: Nzcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment kernel
    Control: 10c5387d Table: 4000404a DAC: 00000015
    Process swapper/0 (pid: 1, stack limit = 0xea882240)
    Backtrace:
    regmap_irq_get_virq
    s5m_rtc_probe
    platform_drv_probe
    driver_probe_device
    __driver_attach
    bus_for_each_dev
    bus_add_driver
    driver_register
    do_one_initcall
    kernel_init_freeable
    kernel_init
    ---[ end trace a954d7f019122700 ]---
    Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    ...

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Reviewed-by: Krzysztof Kozlowski
    Tested-by: Krzysztof Kozlowski
    Acked-by: Kyungmin Park
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bartlomiej Zolnierkiewicz
     

09 Aug, 2014

11 commits

  • Merge more incoming from Andrew Morton:
    "Two new syscalls:

    memfd_create in "shm: add memfd_create() syscall"
    kexec_file_load in "kexec: implementation of new syscall kexec_file_load"

    And:

    - Most (all?) of the rest of MM

    - Lots of the usual misc bits

    - fs/autofs4

    - drivers/rtc

    - fs/nilfs

    - procfs

    - fork.c, exec.c

    - more in lib/

    - rapidio

    - Janitorial work in filesystems: fs/ufs, fs/reiserfs, fs/adfs,
    fs/cramfs, fs/romfs, fs/qnx6.

    - initrd/initramfs work

    - "file sealing" and the memfd_create() syscall, in tmpfs

    - add pci_zalloc_consistent, use it in lots of places

    - MAINTAINERS maintenance

    - kexec feature work"

    * emailed patches from Andrew Morton <akpm@linux-foundation.org: (193 commits)
    MAINTAINERS: update nomadik patterns
    MAINTAINERS: update usb/gadget patterns
    MAINTAINERS: update DMA BUFFER SHARING patterns
    kexec: verify the signature of signed PE bzImage
    kexec: support kexec/kdump on EFI systems
    kexec: support for kexec on panic using new system call
    kexec-bzImage64: support for loading bzImage using 64bit entry
    kexec: load and relocate purgatory at kernel load time
    purgatory: core purgatory functionality
    purgatory/sha256: provide implementation of sha256 in purgaotory context
    kexec: implementation of new syscall kexec_file_load
    kexec: new syscall kexec_file_load() declaration
    kexec: make kexec_segment user buffer pointer a union
    resource: provide new functions to walk through resources
    kexec: use common function for kimage_normal_alloc() and kimage_crash_alloc()
    kexec: move segment verification code in a separate function
    kexec: rename unusebale_pages to unusable_pages
    kernel: build bin2c based on config option CONFIG_BUILD_BIN2C
    bin2c: move bin2c in scripts/basic
    shm: wait for pins to be released when sealing
    ...

    Linus Torvalds
     
  • The interrupt handler gets the driver data associated with the RTC
    device and doesn't check it for validity. This can cause a NULL pointer
    being dereferenced when and interrupt fires before the driver data was
    properly set up.

    Fix this by setting the driver data earlier (before the interrupt is
    requested).

    Signed-off-by: Thierry Reding
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thierry Reding
     
  • In rtc_suspend() and rtc_resume(), the error after rtc_read_time() is not
    checked. If rtc device fail to read time, we cannot guarantee the
    following process.

    Add the verification code for returned rtc_read_time() error.

    Signed-off-by: Hyogi Gim
    Cc: Alessandro Zummo
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hyogi Gim
     
  • Add support for the pcf85063 rtc chip.

    [akpm@linux-foundation.org: fix comment typo, tweak conding style]
    Signed-off-by: Soeren Andersen
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Søren Andersen
     
  • Add support for configuring the ISL12022 real-time clock via the Device
    tree framework. This is based on what I've seen in the related ISL12057
    driver, it has been tested and works on a Technologic Systems TS-7670
    device which uses a ISL12020 RTC device, my device tree looks like this:

    apbx@80040000 {
    i2c0: i2c@80058000 {
    pinctrl-names = "default";
    pinctrl-0 = ;
    clock-frequency = ;
    status = "okay";

    isl12022@0x6f {
    compatible = "isl,isl12022";
    reg = ;
    };
    };
    ... etc
    };

    Signed-off-by: Stuart Longland
    Cc: Roman Fietze
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stuart Longland
     
  • This patch adds alarm support for the NXP PCF8563 chip.

    Signed-off-by: Vincent Donnefort
    Cc: Simon Guinot
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Alessandro Zummo
    Cc: Dan Carpenter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vincent Donnefort
     
  • This functions allow to factorize I2C I/O operations.

    Signed-off-by: Vincent Donnefort
    Cc: Simon Guinot
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vincent Donnefort
     
  • Currently, the rtc-efi driver is restricted to ia64 only. Newer
    architectures with EFI support may want to also use that driver. This
    patch moves the platform device setup from ia64 into drivers/rtc and
    allow any architecture with CONFIG_EFI=y to use the rtc-efi driver.

    Signed-off-by: Mark Salter
    Cc: Alessandro Zummo
    Cc: Tony Luck
    Cc: Fenghua Yu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Salter
     
  • In __rtc_set_alarm(), the error after __rtc_read_time() is not checked.
    If rtc device fail to read time, we cannot guarantee the following
    process.

    Add the verification code for returned __rtc_read_time() error.

    Signed-off-by: Hyogi Gim
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hyogi Gim
     
  • In particular seeing zero in eft->month is problematic, as it results in
    -1 (converted to unsigned int, i.e. yielding 0xffffffff) getting passed
    to rtc_year_days(), where the value gets used as an array index
    (normally resulting in a crash). This was observed with the driver
    enabled on x86 on some Fujitsu system (with possibly not up to date
    firmware, but anyway).

    Perhaps efi_read_alarm() should not fail if neither enabled nor pending
    are set, but the returned time is invalid?

    Signed-off-by: Jan Beulich
    Reported-by: Raymund Will
    Cc: Alessandro Zummo
    Cc: Jingoo Han
    Acked-by: Lee, Chun-Yi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • Commit 5516f0971793 ("drivers/rtc/rtc-ds1742.c: remove redundant
    of_match_ptr() helper") has description as: "'ds1742_rtc_of_match' is
    always compiled in. Hence the helper macro is not needed".

    It is not true, of_match_ptr() macro makes of_device_id parameter unused
    and this constant is declared with __maybe_unused attribute, so normally
    this variable should be discarded by linker. This patch revers this
    commit, since there are no reason to compile of_device_id constant for
    non-DT systems.

    Signed-off-by: Alexander Shiyan
    Cc: Alessandro Zummo
    Cc: Sachin Kamat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Shiyan