11 Jan, 2012

1 commit

  • This patch converts the drivers in drivers/rtc/* to use the
    module_platform_driver() macro which makes the code smaller and a bit
    simpler.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Acked-by: Mike Frysinger
    Acked-by: Guan Xuetao
    Acked-by: Linus Walleij
    Acked-by: Haojian Zhuang
    Cc: Alessandro Zummo
    Cc: Srinidhi Kasagar
    Cc: Lars-Peter Clausen
    Cc: Ben Dooks
    Cc: John Stultz
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     

01 Nov, 2011

1 commit


22 May, 2010

1 commit


23 Apr, 2010

1 commit


14 Apr, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

16 Dec, 2009

3 commits

  • The to_platform_device macro itself uses container_of macro. Nested use
    of container_of macro causes following sparse warnings:

    rtc-ds1553.c:259:3: warning: symbol '__mptr' shadows an earlier one
    rtc-ds1553.c:259:3: originally declared here

    Signed-off-by: Atsushi Nemoto
    Cc: Alessandro Zummo
    Cc: David Brownell
    Cc: Andrew Sharp
    Cc: Thomas Hommel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • - Call dev_set_drvdata before rtc device creation.

    - Use its own spinlock instead of rtc->irq_lock. Because pdata->rtc
    must be initialized to use the irq_lock (pdata->rtc->irq_lock). There
    is a small window which rtc methods can be called before pdata->rtc is
    initialized.

    And there is no need use the irq_lock to protect hardware registers.
    The driver's own spinlock shoule be enough.

    - Check pdata->rtc before calling rtc_update_irq.

    - Use alarm_irq_enable and remove ioctl routine.

    - Use devres APIs and simplify error/remove path.

    These fixes are ported from ds1553 driver and just compile-tested only.

    Signed-off-by: Atsushi Nemoto
    Cc: Alessandro Zummo
    Cc: Thomas Hommel
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Herton Ronaldo Krzesinski recently raised up, and fixed, an issue with the
    rtc_cmos driver, which was referring to an inconsistent driver data.

    This patch ensures that driver data registration happens before
    rtc_device_register().

    Signed-off-by: Alessandro Zummo
    Acked-by: Thomas Hommel
    Acked-by: Hans-Christian Egtvedt
    Acked-by: Paul Mundt
    Cc: David S. Miller
    Cc: Thomas Bogendoerfer
    Cc: Andrew Sharp
    Cc: Atsushi Nemoto
    Cc: Alexander Bigga
    Cc: Thomas Bogendoerfer
    Cc: Mark Zhan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alessandro Zummo
     

09 Nov, 2009

1 commit

  • A pointer to stk17ta8_rtc_probe is passed to the core via
    platform_driver_register and so the function must not disappear when the
    .init sections are discarded. Otherwise (if also having HOTPLUG=y)
    unbinding and binding a device to the driver via sysfs will result in an
    oops as does a device being registered late.

    An alternative to this patch is using platform_driver_probe instead of
    platform_driver_register plus removing the pointer to the probe function
    from the struct platform_driver.

    Signed-off-by: Uwe Kleine-König
    Cc: Anton Vorontsov
    Cc: Alessandro Zummo
    Cc: David Brownell
    Cc: Paul Mundt
    Cc: Andrew Morton
    Cc: Hannes Eder
    Cc: Jiri Kosina
    Cc: David Brownell
    Acked-by: Alessandro Zummo
    Signed-off-by: Jiri Kosina

    Uwe Kleine-König
     

08 Jan, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)
    trivial: chack -> check typo fix in main Makefile
    trivial: Add a space (and a comma) to a printk in 8250 driver
    trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx
    trivial: Fix misspelling of "firmware" in powerpc Makefile
    trivial: Fix misspelling of "firmware" in usb.c
    trivial: Fix misspelling of "firmware" in qla1280.c
    trivial: Fix misspelling of "firmware" in a100u2w.c
    trivial: Fix misspelling of "firmware" in megaraid.c
    trivial: Fix misspelling of "firmware" in ql4_mbx.c
    trivial: Fix misspelling of "firmware" in acpi_memhotplug.c
    trivial: Fix misspelling of "firmware" in ipw2100.c
    trivial: Fix misspelling of "firmware" in atmel.c
    trivial: Fix misspelled firmware in Kconfig
    trivial: fix an -> a typos in documentation and comments
    trivial: fix then -> than typos in comments and documentation
    trivial: update Jesper Juhl CREDITS entry with new email
    trivial: fix singal -> signal typo
    trivial: Fix incorrect use of "loose" in event.c
    trivial: printk: fix indentation of new_text_line declaration
    trivial: rtc-stk17ta8: fix sparse warning
    ...

    Linus Torvalds
     

07 Jan, 2009

1 commit

  • This patch fixes a bunch of irq checking misuses. Most drivers were
    getting irq via platform_get_irq(), which returns -ENXIO or r->start.

    rtc-cmos.c is special. It is using PNP and platform bindings. Hopefully
    nobody is using PNP IRQ 0 for RTC. So the changes should be safe.

    rtc-sh.c is using platform_get_irq, but was storing a result into an
    unsigned type, then was checking for < 0. This is fixed now.

    Signed-off-by: Anton Vorontsov
    Cc: Alessandro Zummo
    Acked-by: David Brownell
    Acked-by: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

06 Jan, 2009

1 commit


20 Oct, 2008

2 commits

  • Tejun's commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 made sysfs
    attribute->owner unnecessary. But the field was left in the structure to
    ease the merge. It's been over a year since that change and it is now
    time to start killing attribute->owner along with its users - one arch at
    a time!

    This patch is attempt #1 to get rid of attribute->owner only for
    CONFIG_X86_64 or CONFIG_X86_32 . We will deal with other arches later on
    as and when possible - avr32 will be the next since that is something I
    can test. Compile (make allyesconfig / make allmodconfig / custom config)
    and boot tested.

    akpm: the idea is that we put the declaration of sttribute.owner inside
    `#ifndef CONFIG_X86'. But that proved to be too ambitious for now because
    new usages kept on turning up in subsystem trees.

    [akpm: remove the ifdef for now]
    Signed-off-by: Parag Warudkar
    Cc: Greg KH
    Cc: Ingo Molnar
    Cc: Tejun Heo
    Cc: Len Brown
    Cc: Jens Axboe
    Cc: Jean Delvare
    Cc: Roland Dreier
    Cc: David Brownell
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Parag Warudkar
     
  • Change drivers/rtc/ to use the new bcd2bin/bin2bcd functions instead of
    the obsolete BCD_TO_BIN/BIN_TO_BCD/BCD2BIN/BIN2BCD macros.

    Signed-off-by: Adrian Bunk
    Acked-by: Alessandro Zummo
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

17 Oct, 2008

1 commit

  • Make the rtc framework consistent about disabling 1/second update IRQs
    that may have been activated through the /dev interface, when that /dev
    file is closed. (It may have closed because of coredump, etc.) This was
    previously done only for emulated update IRQs ... now, do it always.

    Also comment the current policy: repeating IRQs (periodic, update) that
    userspace enabled will be cleanly disabled, but alarms are left alone.
    Such repeating IRQs are a constant and pointless system load.

    Update some RTC drivers to remove now-needless release() methods. Most
    such methods just enforce that policy. The others all seem to be buggy,
    and mistreat in-kernel clients of periodic or alarm IRQs.

    Signed-off-by: David Brownell
    Acked-by: Andrew Sharp
    Cc: Angelo Castello
    Acked-by: Atsushi Nemoto
    Acked-by: Paul Mundt
    Cc: Thomas Hommel
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

11 Apr, 2008

1 commit

  • Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
    prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable RTC
    platform drivers, to re-enable module auto loading.

    [dbrownell@users.sourceforge.net: more drivers, minor fix]
    Signed-off-by: Kay Sievers
    Signed-off-by: David Brownell
    Cc: Greg KH
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kay Sievers
     

15 Nov, 2007

1 commit

  • Several of the RTC drivers are exporting binary "nvram" files in sysfs. Such
    NVRAM (or on many systems, EEPROM) data is often initialized during system
    manufacture to hold data about identity (serial numbers, Ethernet addresses,
    etc), configuration, calibration, and so forth.

    This patch improves integrity and security of those files:

    - Correctly initializes the size in one of the two cases where
    that was not yet being done.

    - Improves system security/integrity by making this state not
    be world-writable by default.

    Letting arbitrary userspace code mangle such state by default is at least Not
    A Good Thing; and it could sometimes be worse, depending on the particular
    data that might be corrupted. (I disregard the paranoiac "don't let anyone
    read it either" approach. Anyone storing passwords in such memory doesn't
    really care about security.)

    Signed-off-by: David Brownell
    Acked-by: Atsushi Nemoto
    Cc: Torsten Ertbjerg Rasmussen
    Cc: Mark Zhan
    Cc: Thomas Hommel
    Acked-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

27 Jul, 2007

1 commit

  • struct bin_attribute * is needed in bin_attribute ->read()/->write()
    now. Incidentally, could people please run the fscking compiler
    before and after applying their patch and compare the build logs?
    That (and many, many other) would be caught immediately.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

22 Jul, 2007

1 commit

  • This patch adds support for the Simtek STK17TA8 timekeeping chip.

    The STK17TA8 is quite similar to the DS1553, but differs in register layout
    and in various control bits in the registers. I chose to make this a new
    driver to avoid confusion in the code and to not get lost in #ifdefs.

    Signed-off-by: Thomas Hommel
    Cc: Alessandro Zummo
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Hommel