• Anatolij Gustschin's avatar
    tty: serial: mpc5xxx: fix PSC clock name bug · 09081e5b
    Anatolij Gustschin authored
    mpc512x platform clock code names PSC clocks as "pscX_mclk" but
    the driver tries to get "pscX_clk" clock and this results in
    errors like:
    
      mpc52xx-psc-uart 80011700.psc: Failed to get PSC clock entry!
    
    The problem appears when opening ttyPSC devices other than the
    system's serial console. Since getting and enabling the PSC clock
    fails, uart port startup doesn't succeed and tty flag TTY_IO_ERROR
    remains set causing further errors in tty ioctls, i.e.
    'strace stty -F /dev/ttyPSC1' shows:
    
    open("/dev/ttyPSC1", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
    dup2(3, 0)                              = 0
    close(3)                                = 0
    fcntl64(0, F_GETFL)                     = 0x10800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE)
    fcntl64(0, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
    ioctl(0, TCGETS, 0xbff89038)            = -1 EIO (Input/output error)
    
    Only request PSC clock names that the platform actually provides.
    Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    09081e5b
mpc52xx_uart.c 39.2 KB