summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-05-05 13:32:37 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-05-05 13:32:37 +0200
commitbf1d71d5e192e242c7ce7cdb3d4c70c6a7ae4858 (patch)
tree13fdb2d07e850768429dc87c00a0943d7e18ff18 /drivers
parent8fb1d4e0758fbeb91dd82541f7c769e2d1e6900a (diff)
parent7af9c3a84384b4330ba961ea5bf3a7a79d8ad1f1 (diff)
downloadbarebox-bf1d71d5e192e242c7ce7cdb3d4c70c6a7ae4858.tar.gz
barebox-bf1d71d5e192e242c7ce7cdb3d4c70c6a7ae4858.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/pata-imx.c3
-rw-r--r--drivers/input/imx_keypad.c13
-rw-r--r--drivers/mtd/nand/nand_bbt.c5
-rw-r--r--drivers/mtd/partition.c3
-rw-r--r--drivers/net/cpsw.c7
-rw-r--r--drivers/net/usb/asix.c17
-rw-r--r--drivers/spi/altera_spi.c6
-rw-r--r--drivers/spi/imx_spi.c2
8 files changed, 23 insertions, 33 deletions
diff --git a/drivers/ata/pata-imx.c b/drivers/ata/pata-imx.c
index 7f9e39b503..6bd7524a6a 100644
--- a/drivers/ata/pata-imx.c
+++ b/drivers/ata/pata-imx.c
@@ -78,9 +78,6 @@ static void pata_imx_set_bus_timing(void __iomem *base, unsigned long clkrate,
{
uint32_t T = 1000000000 / clkrate;
- struct mxc_ata_config_regs *ata_regs;
- ata_regs = (struct mxc_ata_config_regs *)base;
-
if (mode >= ARRAY_SIZE(pio_t1))
return;
diff --git a/drivers/input/imx_keypad.c b/drivers/input/imx_keypad.c
index e6870dfcc2..afe93c3127 100644
--- a/drivers/input/imx_keypad.c
+++ b/drivers/input/imx_keypad.c
@@ -392,17 +392,13 @@ static int __init imx_keypad_probe(struct device_d *dev)
struct console_device *cdev;
int error, i;
- keypad = xzalloc(sizeof(struct imx_keypad));
- if (!keypad) {
- pr_err("not enough memory for driver data\n");
- error = -ENOMEM;
- }
-
if (!keymap_data) {
pr_err("no keymap defined\n");
return -ENODEV;
}
+ keypad = xzalloc(sizeof(struct imx_keypad));
+
keypad->dev = dev;
keypad->mmio_base = dev_request_mem_region(dev, 0);
@@ -420,8 +416,8 @@ static int __init imx_keypad_probe(struct device_d *dev)
if (keypad->rows_en_mask > ((1 << MAX_MATRIX_KEY_ROWS) - 1) ||
keypad->cols_en_mask > ((1 << MAX_MATRIX_KEY_COLS) - 1)) {
pr_err("invalid key data (too many rows or colums)\n");
- error = -EINVAL;
- //goto failed_clock_put;
+ free(keypad);
+ return -EINVAL;
}
pr_debug("enabled rows mask: %x\n", keypad->rows_en_mask);
pr_debug("enabled cols mask: %x\n", keypad->cols_en_mask);
@@ -446,7 +442,6 @@ static int __init imx_keypad_probe(struct device_d *dev)
console_register(&keypad->cdev);
return poller_register(&keypad->poller);
-
}
static struct driver_d imx_keypad_driver = {
diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
index b0548a3e96..1357c5cc6f 100644
--- a/drivers/mtd/nand/nand_bbt.c
+++ b/drivers/mtd/nand/nand_bbt.c
@@ -551,7 +551,7 @@ static int search_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr
{
struct nand_chip *this = mtd->priv;
int i, chips;
- int bits, startblock, block, dir;
+ int startblock, block, dir;
int scanlen = mtd->writesize + mtd->oobsize;
int bbtblocks;
int blocktopage = this->bbt_erase_shift - this->page_shift;
@@ -575,9 +575,6 @@ static int search_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr
bbtblocks = mtd->size >> this->bbt_erase_shift;
}
- /* Number of bits for each erase block in the bbt */
- bits = td->options & NAND_BBT_NRBITS_MSK;
-
for (i = 0; i < chips; i++) {
/* Reset version information */
td->version[i] = 0;
diff --git a/drivers/mtd/partition.c b/drivers/mtd/partition.c
index 720c2adab3..c2461a0a60 100644
--- a/drivers/mtd/partition.c
+++ b/drivers/mtd/partition.c
@@ -7,11 +7,8 @@
static int mtd_part_read(struct mtd_info *mtd, loff_t from, size_t len,
size_t *retlen, u_char *buf)
{
- struct mtd_ecc_stats stats;
int res;
- stats = mtd->master->ecc_stats;
-
if (from >= mtd->size)
len = 0;
else if (from + len > mtd->size)
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index 52adf50205..ec3263d4aa 100644
--- a/drivers/net/cpsw.c
+++ b/drivers/net/cpsw.c
@@ -741,8 +741,13 @@ static int cpdma_process(struct cpsw_priv *priv, struct cpdma_chan *chan,
if (buffer)
*buffer = (void *)readl(&desc->sw_buffer);
- if (status & CPDMA_DESC_OWNER)
+ if (status & CPDMA_DESC_OWNER) {
+ if (readl(chan->hdp) == 0) {
+ if (readl(&desc->hw_mode) & CPDMA_DESC_OWNER)
+ writel((u32)desc, chan->hdp);
+ }
return -EBUSY;
+ }
chan->head = (void *)readl(&desc->hw_next);
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index 37057a7cb5..2145d3f466 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -286,7 +286,7 @@ static int asix_sw_reset(struct usbnet *dev, u8 flags)
{
int ret;
- ret = asix_write_cmd(dev, AX_CMD_SW_RESET, flags, 0, 0, NULL);
+ ret = asix_write_cmd(dev, AX_CMD_SW_RESET, flags, 0, 0, NULL);
if (ret < 0)
dev_err(&dev->edev.dev, "Failed to send software reset: %02x\n", ret);
@@ -453,8 +453,8 @@ static int asix_rx_fixup(struct usbnet *dev, void *buf, int len)
}
static int asix_tx_fixup(struct usbnet *dev,
- void *buf, int len,
- void *nbuf, int *nlen)
+ void *buf, int len,
+ void *nbuf, int *nlen)
{
unsigned int packet_len;
@@ -696,10 +696,10 @@ static struct driver_info ax88772b_info = {
.description = "ASIX AX88772B USB 2.0 Ethernet",
.bind = ax88772_bind,
.unbind = asix_unbind,
- .flags = FLAG_ETHER | FLAG_FRAMING_AX,
- .rx_fixup = asix_rx_fixup,
- .tx_fixup = asix_tx_fixup,
- .data = FLAG_EEPROM_MAC,
+ .flags = FLAG_ETHER | FLAG_FRAMING_AX,
+ .rx_fixup = asix_rx_fixup,
+ .tx_fixup = asix_tx_fixup,
+ .data = FLAG_EEPROM_MAC,
};
static const struct usb_device_id products [] = {
@@ -800,7 +800,6 @@ static struct usb_driver asix_driver = {
static int __init asix_init(void)
{
- return usb_driver_register(&asix_driver);
+ return usb_driver_register(&asix_driver);
}
device_initcall(asix_init);
-
diff --git a/drivers/spi/altera_spi.c b/drivers/spi/altera_spi.c
index 8803d9e96b..983b877e87 100644
--- a/drivers/spi/altera_spi.c
+++ b/drivers/spi/altera_spi.c
@@ -34,18 +34,18 @@ static int altera_spi_setup(struct spi_device *spi)
if (spi->bits_per_word != altera_spi->databits) {
dev_err(master->dev, " master doesn't support %d bits per word requested by %s\n",
spi->bits_per_word, spi_dev.name);
- return -1;
+ return -EINVAL;
}
if ((spi->mode & (SPI_CPHA | SPI_CPOL)) != altera_spi->mode) {
dev_err(master->dev, " master doesn't support SPI_MODE%d requested by %s\n",
spi->mode & (SPI_CPHA | SPI_CPOL), spi_dev.name);
- return -1;
+ return -EINVAL;
}
if (spi->max_speed_hz < altera_spi->speed) {
dev_err(master->dev, " frequency is too high for %s\n", spi_dev.name);
- return -1;
+ return -EINVAL;
}
altera_spi_cs_inactive(spi);
diff --git a/drivers/spi/imx_spi.c b/drivers/spi/imx_spi.c
index bd8fe357ec..e07cf1a95a 100644
--- a/drivers/spi/imx_spi.c
+++ b/drivers/spi/imx_spi.c
@@ -423,7 +423,7 @@ static void imx_spi_do_transfer(struct spi_device *spi, struct spi_transfer *t)
static int imx_spi_transfer(struct spi_device *spi, struct spi_message *mesg)
{
struct imx_spi *imx = container_of(spi->master, struct imx_spi, master);
- struct spi_transfer *t = NULL;
+ struct spi_transfer *t;
imx->chipselect(spi, 1);