Merge tag 'dmaengine-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul...
[linux-2.6-microblaze.git] / drivers / dma / ppc4xx / adma.c
index 71cdaaa..e2b5129 100644 (file)
@@ -69,7 +69,7 @@ struct ppc_dma_chan_ref {
 };
 
 /* The list of channels exported by ppc440spe ADMA */
-struct list_head
+static struct list_head
 ppc440spe_adma_chan_list = LIST_HEAD_INIT(ppc440spe_adma_chan_list);
 
 /* This flag is set when want to refetch the xor chain in the interrupt
@@ -559,7 +559,6 @@ static void ppc440spe_desc_set_src_mult(struct ppc440spe_adma_desc_slot *desc,
                        int sg_index, unsigned char mult_value)
 {
        struct dma_cdb *dma_hw_desc;
-       struct xor_cb *xor_hw_desc;
        u32 *psgu;
 
        switch (chan->device->id) {
@@ -590,7 +589,6 @@ static void ppc440spe_desc_set_src_mult(struct ppc440spe_adma_desc_slot *desc,
                *psgu |= cpu_to_le32(mult_value << mult_index);
                break;
        case PPC440SPE_XOR_ID:
-               xor_hw_desc = desc->hw_desc;
                break;
        default:
                BUG();
@@ -4321,6 +4319,7 @@ static ssize_t enable_store(struct device_driver *dev, const char *buf,
                            size_t count)
 {
        unsigned long val;
+       int err;
 
        if (!count || count > 11)
                return -EINVAL;
@@ -4329,7 +4328,10 @@ static ssize_t enable_store(struct device_driver *dev, const char *buf,
                return -EFAULT;
 
        /* Write a key */
-       sscanf(buf, "%lx", &val);
+       err = kstrtoul(buf, 16, &val);
+       if (err)
+               return err;
+
        dcr_write(ppc440spe_mq_dcr_host, DCRN_MQ0_XORBA, val);
        isync();
 
@@ -4370,7 +4372,7 @@ static ssize_t poly_store(struct device_driver *dev, const char *buf,
                          size_t count)
 {
        unsigned long reg, val;
-
+       int err;
 #ifdef CONFIG_440SP
        /* 440SP uses default 0x14D polynomial only */
        return -EINVAL;
@@ -4380,7 +4382,9 @@ static ssize_t poly_store(struct device_driver *dev, const char *buf,
                return -EINVAL;
 
        /* e.g., 0x14D or 0x11D */
-       sscanf(buf, "%lx", &val);
+       err = kstrtoul(buf, 16, &val);
+       if (err)
+               return err;
 
        if (val & ~0x1FF)
                return -EINVAL;