tty: serial: amba-pl011: revise to use amba_rev macro

This patch replaces the ugly bit-operations with the convenient
amba_rev macro from the get_fifosize_arm function. The type of
get_fifosize member function is also slightly changed to take
a pointer to the amba_device.

Signed-off-by: Jongsung Kim <neidhard.kim@lge.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jongsung Kim 2013-05-10 18:05:35 +09:00 committed by Greg Kroah-Hartman
parent cd97721a1b
commit ea33640a93

View File

@ -79,13 +79,12 @@ struct vendor_data {
bool dma_threshold; bool dma_threshold;
bool cts_event_workaround; bool cts_event_workaround;
unsigned int (*get_fifosize)(unsigned int periphid); unsigned int (*get_fifosize)(struct amba_device *dev);
}; };
static unsigned int get_fifosize_arm(unsigned int periphid) static unsigned int get_fifosize_arm(struct amba_device *dev)
{ {
unsigned int rev = (periphid >> 20) & 0xf; return amba_rev(dev) < 3 ? 16 : 32;
return rev < 3 ? 16 : 32;
} }
static struct vendor_data vendor_arm = { static struct vendor_data vendor_arm = {
@ -98,7 +97,7 @@ static struct vendor_data vendor_arm = {
.get_fifosize = get_fifosize_arm, .get_fifosize = get_fifosize_arm,
}; };
static unsigned int get_fifosize_st(unsigned int periphid) static unsigned int get_fifosize_st(struct amba_device *dev)
{ {
return 64; return 64;
} }
@ -2157,7 +2156,7 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
uap->lcrh_rx = vendor->lcrh_rx; uap->lcrh_rx = vendor->lcrh_rx;
uap->lcrh_tx = vendor->lcrh_tx; uap->lcrh_tx = vendor->lcrh_tx;
uap->old_cr = 0; uap->old_cr = 0;
uap->fifosize = vendor->get_fifosize(dev->periphid); uap->fifosize = vendor->get_fifosize(dev);
uap->port.dev = &dev->dev; uap->port.dev = &dev->dev;
uap->port.mapbase = dev->res.start; uap->port.mapbase = dev->res.start;
uap->port.membase = base; uap->port.membase = base;