23 Sep, 2008

3 commits

  • Fix some drivers so that they use the unlocked_ioctl call.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • The wdt285.c watchdog driver is producing a number of
    sparse errors due to missing __user attributes to calls
    to put_user and copy_to_user, as well as in the prototype
    of watchdog_write.

    wdt285.c:144:21: warning: incorrect type in argument 1 (different address spaces)
    wdt285.c:144:21: expected void [noderef] *to
    wdt285.c:144:21: got void *
    wdt285.c:150:9: warning: incorrect type in initializer (different address spaces)
    wdt285.c:150:9: expected int const [noderef] *register __p
    wdt285.c:150:9: got int *
    wdt285.c:159:9: warning: incorrect type in initializer (different address spaces)
    wdt285.c:159:9: expected int const [noderef] *register __p
    wdt285.c:159:9: got int *
    wdt285.c:174:9: warning: incorrect type in initializer (different address spaces)
    wdt285.c:174:9: expected int const [noderef] *register __p
    wdt285.c:174:9: got int *
    wdt285.c:183:12: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
    wdt285.c:183:12: expected int ( *write )( ... )
    wdt285.c:183:12: got int ( static [toplevel] * )( ... )

    Signed-off-by: Ben Dooks
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Ben Dooks
     
  • __asr_toggle() is always called with asr_lock held.
    But there is unnecessary spin_unlock() call in __asr_toggle().

    Signed-off-by: Akinobu Mita
    Signed-off-by: Wim Van Sebroeck
    Acked-by: Andrey Panin
    Signed-off-by: Andrew Morton

    Akinobu Mita
     

27 Aug, 2008

10 commits


17 Aug, 2008

1 commit

  • * master.kernel.org:/home/rmk/linux-2.6-arm: (38 commits)
    [ARM] 5191/1: ARM: remove CVS keywords
    [ARM] pxafb: fix the warning of incorrect lccr when lcd_conn is specified
    [ARM] pxafb: add flag to specify output format on LDD pins when base is RGBT16
    [ARM] pxafb: fix the incorrect configuration of GPIO77 as ACBIAS for TFT LCD
    [ARM] 5198/1: PalmTX: PCMCIA fixes
    [ARM] Fix a pile of broken watchdog drivers
    [ARM] update mach-types
    [ARM] 5196/1: fix inline asm constraints for preload
    [ARM] 5194/1: update .gitignore
    [ARM] add proc-macros.S include to proc-arm940 and proc-arm946
    [ARM] 5192/1: ARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags
    [ARM] 5193/1: Wire up missing syscalls
    [ARM] traps: don't call undef hook functions with spinlock held
    [ARM] 5183/2: Provide Poodle LoCoMo GPIO names
    [ARM] dma-mapping: provide sync_range APIs
    [ARM] dma-mapping: improve type-safeness of DMA translations
    [ARM] Kirkwood: instantiate the orion_spi driver in the platform code
    [ARM] prevent crashing when too much RAM installed
    [ARM] Kirkwood: Instantiate mv_xor driver
    [ARM] Orion: Instantiate mv_xor driver for 5182
    ...

    Linus Torvalds
     

16 Aug, 2008

1 commit

  • These patches from Adrian fix:
    - ixp4xx_wdt: 20d35f3e50ea7e573f9568b9fce4e98523aaee5d
    CC drivers/watchdog/ixp4xx_wdt.o
    ixp4xx_wdt.c:32: error: expected '=', ',', ';', 'asm' or '__attribute__'
    ixp4xx_wdt.c: In function 'wdt_enable':
    ixp4xx_wdt.c:41: error: 'wdt_lock' undeclared (first use in this
    ixp4xx_wdt.c:41: error: (Each undeclared identifier is reported only
    ixp4xx_wdt.c:41: error: for each function it appears in.)
    ixp4xx_wdt.c: In function 'wdt_disable':
    ixp4xx_wdt.c:52: error: 'wdt_lock' undeclared (first use in this
    ixp4xx_wdt.c: In function 'ixp4xx_wdt_init':
    ixp4xx_wdt.c:186: error: 'wdt_lock' undeclared (first use in this
    make[3]: *** [drivers/watchdog/ixp4xx_wdt.o] Error 1

    - at91rm9200_wdt: 2760600da2a13d5a2a335ba012d0f3ad5df4c098
    CC drivers/watchdog/at91rm9200_wdt.o
    at91rm9200_wdt.c:188: error: 'at91_wdt_ioctl' undeclared here (not in a
    make[3]: *** [drivers/watchdog/at91rm9200_wdt.o] Error 1

    - wdt285: d0e58eed05f9baf77c4f75e794ae245f6dae240a
    CC [M] drivers/watchdog/wdt285.o
    wdt285.c: In function 'footbridge_watchdog_init':
    wdt285.c:211: error: 'KERN_WARN' undeclared (first use in this function)
    wdt285.c:211: error: (Each undeclared identifier is reported only once
    wdt285.c:211: error: for each function it appears in.)
    wdt285.c:212: error: expected ')' before string constant
    make[3]: *** [drivers/watchdog/wdt285.o] Error 1

    And this patch from rmk:
    - s3c2410_wdt: 41dc8b72e37c514f7332cbc3f3dd864910c2a1fa
    CC drivers/watchdog/s3c2410_wdt.o
    s3c2410_wdt.c: In function `s3c2410wdt_start':
    s3c2410_wdt.c:161: warning: `return' with a value, in function returning void

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Russell King

    Adrian Bunk
     

13 Aug, 2008

1 commit

  • My Sun Netra T1 AC200 has one of these... bit harsh not letting me use it
    and all :)

    ==========
    alex@woodchuck:~$ lspci -nn
    00:01.0 PCI bridge [0604]: Sun Microsystems Computer Corp. Simba Advanced PCI Bridge [108e:5000] (rev 13)
    00:01.1 PCI bridge [0604]: Sun Microsystems Computer Corp. Simba Advanced PCI Bridge [108e:5000] (rev 13)
    01:03.0 Non-VGA unclassified device [0000]: ALi Corporation M7101 Power Management Controller [PMU] [10b9:7101]
    01:05.1 Ethernet controller [0200]: Sun Microsystems Computer Corp. RIO GEM [108e:1101] (rev 01)
    01:05.3 USB Controller [0c03]: Sun Microsystems Computer Corp. RIO USB [108e:1103] (rev 01)
    01:07.0 ISA bridge [0601]: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] [10b9:1533]
    01:0c.0 Bridge [0680]: Sun Microsystems Computer Corp. RIO EBUS [108e:1100] (rev 01)
    01:0c.1 Ethernet controller [0200]: Sun Microsystems Computer Corp. RIO GEM [108e:1101] (rev 01)
    01:0c.3 USB Controller [0c03]: Sun Microsystems Computer Corp. RIO USB [108e:1103] (rev 01)
    01:0d.0 IDE interface [0101]: ALi Corporation M5229 IDE [10b9:5229] (rev c3)
    02:08.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53C896/897 [1000:000b] (rev 07)
    02:08.1 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53C896/897 [1000:000b] (rev 07)
    ==========

    Signed-off-by: Alexander Clouter
    Cc: Wim Van Sebroeck
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Clouter
     

11 Aug, 2008

7 commits

  • Fix following warnings:
    drivers/watchdog/pcwd.c: In function 'pcwd_open':
    drivers/watchdog/pcwd.c:703: warning: passing argument 2 of 'test_and_set_bit' from incompatible pointer type
    drivers/watchdog/pcwd.c: In function 'pcwd_close':
    drivers/watchdog/pcwd.c:723: warning: passing argument 2 of 'clear_bit' from incompatible pointer type

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • This patch fixes the following compile error caused by
    commit 20d35f3e50ea7e573f9568b9fce4e98523aaee5d
    ([WATCHDOG 22/57] ixp4xx_wdt: unlocked_ioctl):

    ...
    CC drivers/watchdog/ixp4xx_wdt.o
    ixp4xx_wdt.c:32: error: expected '=', ',', ';', 'asm' or '__attribute__'
    ixp4xx_wdt.c: In function 'wdt_enable':
    ixp4xx_wdt.c:41: error: 'wdt_lock' undeclared (first use in this
    ixp4xx_wdt.c:41: error: (Each undeclared identifier is reported only
    ixp4xx_wdt.c:41: error: for each function it appears in.)
    ixp4xx_wdt.c: In function 'wdt_disable':
    ixp4xx_wdt.c:52: error: 'wdt_lock' undeclared (first use in this
    ixp4xx_wdt.c: In function 'ixp4xx_wdt_init':
    ixp4xx_wdt.c:186: error: 'wdt_lock' undeclared (first use in this
    make[3]: *** [drivers/watchdog/ixp4xx_wdt.o] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Wim Van Sebroeck

    Adrian Bunk
     
  • This patch fixes the following compile error caused by
    commit d0e58eed05f9baf77c4f75e794ae245f6dae240a
    ([WATCHDOG 55/57] wdt285: switch to unlocked_ioctl and tidy up ...):

    ...
    CC [M] drivers/watchdog/wdt285.o
    wdt285.c: In function 'footbridge_watchdog_init':
    wdt285.c:211: error: 'KERN_WARN' undeclared (first use in this function)
    wdt285.c:211: error: (Each undeclared identifier is reported only once
    wdt285.c:211: error: for each function it appears in.)
    wdt285.c:212: error: expected ')' before string constant
    make[3]: *** [drivers/watchdog/wdt285.o] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Wim Van Sebroeck

    Adrian Bunk
     
  • This patch fixes the following compile error:

    ...
    CC drivers/watchdog/at91rm9200_wdt.o
    at91rm9200_wdt.c:188: error: 'at91_wdt_ioctl' undeclared here (not in a
    make[3]: *** [drivers/watchdog/at91rm9200_wdt.o] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Wim Van Sebroeck

    Adrian Bunk
     
  • This patch fixes the following compile errors caused by
    commit 70b814ec1a484279a51bf9f7193551b996627247
    ([WATCHDOG 45/57] shwdt: coding style, cleanup, switch to unlocked_io):

    ...
    CC drivers/watchdog/shwdt.o
    shwdt.c:64: error: 'WTCSR_CKS_4096' undeclared here (not in a function)
    shwdt.c: In function 'sh_wdt_start':
    shwdt.c:92: error: 'wdt_lock' undeclared (first use in this function)
    shwdt.c:92: error: (Each undeclared identifier is reported only once
    shwdt.c:92: error: for each function it appears in.)
    shwdt.c:97: error: implicit declaration of function 'sh_wdt_read_csr'
    shwdt.c:98: error: 'WTCSR_WT' undeclared (first use in this function)
    shwdt.c:99: error: implicit declaration of function 'sh_wdt_write_csr'
    shwdt.c:101: error: implicit declaration of function 'sh_wdt_write_cnt'
    shwdt.c:112: error: 'WTCSR_TME' undeclared (first use in this function)
    shwdt.c:113: error: 'WTCSR_RSTS' undeclared (first use in this function)
    shwdt.c: In function 'sh_wdt_stop':
    shwdt.c:142: error: 'wdt_lock' undeclared (first use in this function)
    shwdt.c:147: error: 'WTCSR_TME' undeclared (first use in this function)
    shwdt.c: In function 'sh_wdt_keepalive':
    shwdt.c:160: error: 'wdt_lock' undeclared (first use in this function)
    shwdt.c: In function 'sh_wdt_set_heartbeat':
    shwdt.c:176: error: 'wdt_lock' undeclared (first use in this function)
    shwdt.c: In function 'sh_wdt_ping':
    shwdt.c:192: error: 'wdt_lock' undeclared (first use in this function)
    shwdt.c:197: error: 'WTCSR_IOVF' undeclared (first use in this function)
    shwdt.c: At top level:
    shwdt.c:417: error: conflicting type qualifiers for 'sh_wdt_info'
    shwdt.c:71: error: previous declaration of 'sh_wdt_info' was here
    make[3]: *** [drivers/watchdog/shwdt.o] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Wim Van Sebroeck

    Adrian Bunk
     
  • This patch fixes the following compile error caused by
    commit 8dc244f7deac4c0e95ce0ffd26f494bb6e1534c0
    ([WATCHDOG 48/57] txx9: Fix locking, switch to unlocked_ioctl):

    ...
    CC drivers/watchdog/txx9wdt.o
    txx9wdt.c:48: warning: type defaults to 'int' in declaration of
    txx9wdt.c:48: warning: parameter names (without types) in function
    txx9wdt.c: In function 'txx9wdt_ping':
    txx9wdt.c:52: error: 'txx9_lock' undeclared (first use in this function)
    txx9wdt.c:52: error: (Each undeclared identifier is reported only once
    txx9wdt.c:52: error: for each function it appears in.)
    txx9wdt.c: In function 'txx9wdt_start':
    txx9wdt.c:59: error: 'txx9_lock' undeclared (first use in this function)
    txx9wdt.c: In function 'txx9wdt_stop':
    txx9wdt.c:71: error: 'txx9_lock' undeclared (first use in this function)
    make[3]: *** [drivers/watchdog/txx9wdt.o] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Wim Van Sebroeck

    Adrian Bunk
     
  • The problem is that iTCO_vendor_support.ko is still being built while
    iTCO_vendor.h claims that its functions do not exist. The following
    Makefile update fixes that. It causes iTCO_vendor_support.ko to no
    longer be built if CONFIG_ITCO_VENDOR_SUPPORT=n.

    Signed-off-by: Jean Delvare
    Signed-off-by: Wim Van Sebroeck

    Jean Delvare
     

09 Aug, 2008

1 commit

  • Conflicts:

    drivers/watchdog/at91rm9200_wdt.c
    drivers/watchdog/davinci_wdt.c
    drivers/watchdog/ep93xx_wdt.c
    drivers/watchdog/ixp2000_wdt.c
    drivers/watchdog/ixp4xx_wdt.c
    drivers/watchdog/ks8695_wdt.c
    drivers/watchdog/omap_wdt.c
    drivers/watchdog/pnx4008_wdt.c
    drivers/watchdog/sa1100_wdt.c
    drivers/watchdog/wdt285.c

    Russell King
     

08 Aug, 2008

1 commit


07 Aug, 2008

5 commits


06 Aug, 2008

10 commits

  • Move the sbc8360.c watchdog stop code into a seperate function.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • This brings the watchdog drivers into line with coding style.
    This patch takes cares of the indentation as described in chapter 1.
    Main changes:
    * Re-structure the ioctl switch call for all drivers as follows:
    switch (cmd) {
    case WDIOC_GETSUPPORT:
    case WDIOC_GETSTATUS:
    case WDIOC_GETBOOTSTATUS:
    case WDIOC_GETTEMP:
    case WDIOC_SETOPTIONS:
    case WDIOC_KEEPALIVE:
    case WDIOC_SETTIMEOUT:
    case WDIOC_GETTIMEOUT:
    case WDIOC_GETTIMELEFT:
    default:
    }

    This to make the migration from the drivers to the uniform watchdog
    device driver easier in the future.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • This brings the watchdog drivers into line with coding style.
    This patch takes cares of the indentation as described in chapter 1:
    The preferred way to ease multiple indentation levels in a switch
    statement is to align the "switch" and its subordinate "case"
    labels in the same column instead of "double-indenting" the "case"
    labels.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • The mpc8xxx_wdt driver is using two registers: SWSRR to push magic
    numbers, and SWCRR to control the watchdog. Both registers are available
    on the MPC8xx, and seem to have the same offsets and semantics as in
    MPC83xx/MPC86xx watchdogs. The only difference is prescale value. So
    this driver simply works on the MPC8xx CPUs.

    One quirk is needed for the MPC8xx, though. It has small prescale value
    and slow CPU, so the watchdog resets board prior to the driver has time to
    load. To solve this we should split initialization in two steps: start
    ping the watchdog early, and register the watchdog userspace interface
    later.

    MPC823 seem to be the first CPU in MPC8xx line, so we use fsl,mpc823-wdt
    compatible matching.

    Signed-off-by: Anton Vorontsov
    Tested-by: Jochen Friedrich
    Cc: Kumar Gala
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • CC drivers/watchdog/mpc8xxx_wdt.o
    drivers/watchdog/mpc8xxx_wdt.c: In function 'mpc8xxx_wdt_ioctl':
    drivers/watchdog/mpc8xxx_wdt.c:156: error: 'cmd' undeclared (first use in this function)
    drivers/watchdog/mpc8xxx_wdt.c:156: error: (Each undeclared identifier is reported only once
    drivers/watchdog/mpc8xxx_wdt.c:156: error: for each function it appears in.)
    drivers/watchdog/mpc8xxx_wdt.c: At top level:
    drivers/watchdog/mpc8xxx_wdt.c:176: warning: initialization from incompatible pointer type

    This patch ought to be folded into
    mpc8xxx_wdt-various-renames-mostly-s-mpc83xx-mpc8xxx-g.patch

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • mpc83xx_wdt.c renamed to mpc8xxx_wdt.c, now we can do various renames in
    the file itself.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • Rename the driver because now we support some MPC86xx processors.

    There are no changes to the mpc83xx_wdt.c file, yet. When possible, we do
    file renames and changes separately (because Linus once asked so, because
    it helps git to track the renamed files).

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • On MPC86xx the watchdog could be enabled only at power-on-reset, and could
    not be disabled afterwards. We must ping the watchdog from the kernel
    until the userspace handles it.

    MPC83xx CPUs are only differ in a way that watchdog could be disabled
    once, but after it was enabled via software it becomes just the same as
    MPC86xx.

    Thus, to support MPC86xx I added the kernel timer which pings the watchdog
    until the userspace opens it.

    Since we implemented the timer, now we're able to implement proper
    handling for the CONFIG_WATCHDOG_NOWAYOUT case, for MPC83xx and MPC86xx.

    Also move the probe code into subsys_initcall, because we want start
    pinging the watchdog ASAP, and misc devices are available in
    subsys_initcall.

    Signed-off-by: Anton Vorontsov
    Cc: Kumar Gala
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • This patch simply converts mpc83xx_wdt to the OF platform driver so we can
    directly work with the device tree without passing various stuff through
    platform data.

    Signed-off-by: Anton Vorontsov
    Acked-by: Stephen Rothwell
    Cc: Kumar Gala
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • Fix them up. Once we know the long term plan the watchdogs can all get
    shrunk massively anyway

    Signed-off-by: Alan Cox
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Alan Cox