static unsigned int calc_xmit_shift(struct sh_dmae_chan *sh_chan, u32 chcr)
 {
        struct sh_dmae_device *shdev = to_sh_dev(sh_chan);
-       struct sh_dmae_pdata *pdata = shdev->pdata;
+       const struct sh_dmae_pdata *pdata = shdev->pdata;
        int cnt = ((chcr & pdata->ts_low_mask) >> pdata->ts_low_shift) |
                ((chcr & pdata->ts_high_mask) >> pdata->ts_high_shift);
 
 static u32 log2size_to_chcr(struct sh_dmae_chan *sh_chan, int l2size)
 {
        struct sh_dmae_device *shdev = to_sh_dev(sh_chan);
-       struct sh_dmae_pdata *pdata = shdev->pdata;
+       const struct sh_dmae_pdata *pdata = shdev->pdata;
        int i;
 
        for (i = 0; i < pdata->ts_shift_num; i++)
 static int dmae_set_dmars(struct sh_dmae_chan *sh_chan, u16 val)
 {
        struct sh_dmae_device *shdev = to_sh_dev(sh_chan);
-       struct sh_dmae_pdata *pdata = shdev->pdata;
+       const struct sh_dmae_pdata *pdata = shdev->pdata;
        const struct sh_dmae_channel *chan_pdata = &pdata->channel[sh_chan->shdma_chan.id];
        void __iomem *addr = shdev->dmars;
        unsigned int shift = chan_pdata->dmars_bit;
        struct sh_dmae_chan *sh_chan, int match)
 {
        struct sh_dmae_device *shdev = to_sh_dev(sh_chan);
-       struct sh_dmae_pdata *pdata = shdev->pdata;
+       const struct sh_dmae_pdata *pdata = shdev->pdata;
        const struct sh_dmae_slave_config *cfg;
        int i;
 
 
 static int sh_dmae_probe(struct platform_device *pdev)
 {
-       struct sh_dmae_pdata *pdata = pdev->dev.platform_data;
+       const struct sh_dmae_pdata *pdata = pdev->dev.platform_data;
        unsigned long irqflags = IRQF_DISABLED,
                chan_flag[SH_DMAE_MAX_CHANNELS] = {};
        int errirq, chan_irq[SH_DMAE_MAX_CHANNELS];