• 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
qe.c 8.5 KB