1. 17 10月, 2007 1 次提交
  2. 16 10月, 2007 2 次提交
    • M
      Use dcr_host_t.base in dcr_unmap() · cdbd3865
      Michael Ellerman 提交于
      With the base stored in dcr_host_t, there's no need for callers to pass
      the dcr_n into dcr_unmap(). In fact this removes the possibility of them
      passing the incorrect value, which would then be iounmap()'ed.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      cdbd3865
    • M
      Add dcr_host_t.base in dcr_read()/dcr_write() · 83f34df4
      Michael Ellerman 提交于
      Now that all users of dcr_read()/dcr_write() add the dcr_host_t.base, we
      can save them the trouble and do it in dcr_read()/dcr_write().
      
      As some background to why we just went through all this jiggery-pokery,
      benh sayeth:
      
       Initially the goal of the dcr_read/dcr_write routines was to operate like
       mfdcr/mtdcr which take absolute DCR numbers. The reason is that on 4xx
       hardware, indirect DCR access is a pain (goes through a table of
       instructions) and it's useful to have the compiler resolve an absolute DCR
       inline.
      
       We decided that wasn't worth the API bastardisation since most places
       where absolute DCR values are used are low level 4xx-only code which may
       as well continue using mfdcr/mtdcr, while the new API is designed for
       device "instances" that can exist on 4xx and Axon type platforms and may
       be located at variable DCR offsets.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      83f34df4
  3. 15 10月, 2007 1 次提交
  4. 13 10月, 2007 1 次提交
    • K
      Driver core: change add_uevent_var to use a struct · 7eff2e7a
      Kay Sievers 提交于
      This changes the uevent buffer functions to use a struct instead of a
      long list of parameters. It does no longer require the caller to do the
      proper buffer termination and size accounting, which is currently wrong
      in some places. It fixes a known bug where parts of the uevent
      environment are overwritten because of wrong index calculations.
      
      Many thanks to Mathieu Desnoyers for finding bugs and improving the
      error handling.
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      7eff2e7a
  5. 12 10月, 2007 2 次提交
  6. 11 10月, 2007 10 次提交
  7. 09 10月, 2007 2 次提交
  8. 08 10月, 2007 3 次提交
    • A
      [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading · cccd2102
      Anton Vorontsov 提交于
      set_irq_chained_handler overwrites MPIC's handle_irq function
      (handle_fasteoi_irq) thus MPIC never gets eoi event from the
      cascaded IRQ. This situation hangs MPIC on MPC8568E.
      
      To solve this problem efficiently, QEIC needs pluggable handlers,
      specific to the underlaying interrupt controller.
      
      Patch extends qe_ic_init() function to accept low and high interrupt
      handlers. To avoid #ifdefs, stack of interrupt handlers specified in
      the header file and functions are marked 'static inline', thus
      handlers are compiled-in only if actually used (in the board file).
      Another option would be to lookup for parent controller and
      automatically detect handlers (will waste text size because of
      never used handlers, so this option abolished).
      
      qe_ic_init() also changed in regard to support multiplexed high/low
      lines as found in MPC8568E-MDS, plus qe_ic_cascade_muxed_mpic()
      handler implemented appropriately.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      cccd2102
    • T
      [POWERPC] 86xx: update immap_86xx.h for the 8610 · 090fe850
      Timur Tabi 提交于
      Update the definition of the global utilities structure (ccsr_guts) in
      immap_86xx.h and add some related macros for the Freescale 8610 SOC.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      090fe850
    • T
      [POWERPC] qe: miscellaneous code improvements and fixes to the QE library · 6b0b594b
      Timur Tabi 提交于
      This patch makes numerous miscellaneous code improvements to the QE library.
      
      1. Remove struct ucc_common and merge ucc_init_guemr() into ucc_set_type()
         (every caller of ucc_init_guemr() also calls ucc_set_type()).  Modify all
         callers of ucc_set_type() accordingly.
      
      2. Remove the unused enum ucc_pram_initial_offset.
      
      3. Refactor qe_setbrg(), also implement work-around for errata QE_General4.
      
      4. Several printk() calls were missing the terminating \n.
      
      5. Add __iomem where needed, and change u16 to __be16 and u32 to __be32 where
         appropriate.
      
      6. In ucc_slow_init() the RBASE and TBASE registers in the PRAM were programmed
         with the wrong value.
      
      7. Add the protocol type to struct us_info and updated ucc_slow_init() to
         use it, instead of always programming QE_CR_PROTOCOL_UNSPECIFIED.
      
      8. Rename ucc_slow_restart_x() to ucc_slow_restart_tx()
      
      9. Add several macros in qe.h (mostly for slow UCC support, but also to
         standardize some naming convention) and remove several unused macros.
      
      10. Update ucc_geth.c to use the new macros.
      
      11. Add ucc_slow_info.protocol to specify which QE_CR_PROTOCOL_xxx protcol
          to use when initializing the UCC in ucc_slow_init().
      
      12. Rename ucc_slow_pram.rfcr to rbmr and ucc_slow_pram.tfcr to tbmr, since
          these are the real names of the registers.
      
      13. Use the setbits, clrbits, and clrsetbits where appropriate.
      
      14. Refactor ucc_set_qe_mux_rxtx().
      
      15. Remove all instances of 'volatile'.
      
      16. Simplify get_cmxucr_reg();
      
      17. Replace qe_mux.cmxucrX with qe_mux.cmxucr[].
      
      18. Updated struct ucc_geth because struct ucc_fast is not padded any more.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6b0b594b
  9. 05 10月, 2007 6 次提交
  10. 04 10月, 2007 3 次提交
  11. 03 10月, 2007 9 次提交