[PATCH 2/5] MTD: chips/map_ram.c: implement point and unpoint methods

Richard Weinberger richard.weinberger at gmail.com
Wed Oct 11 13:48:08 PDT 2017


On Wed, Oct 11, 2017 at 5:26 AM, Nicolas Pitre <nicolas.pitre at linaro.org> wrote:
> Signed-off-by: Nicolas Pitre <nico at linaro.org>
> ---
>  drivers/mtd/chips/map_ram.c | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/drivers/mtd/chips/map_ram.c b/drivers/mtd/chips/map_ram.c
> index afb43d5e17..c3939dd230 100644
> --- a/drivers/mtd/chips/map_ram.c
> +++ b/drivers/mtd/chips/map_ram.c
> @@ -22,6 +22,9 @@ static void mapram_nop (struct mtd_info *);
>  static struct mtd_info *map_ram_probe(struct map_info *map);
>  static unsigned long mapram_unmapped_area(struct mtd_info *, unsigned long,
>                                           unsigned long, unsigned long);
> +static int mapram_point (struct mtd_info *mtd, loff_t from, size_t len,
> +                        size_t *retlen, void **virt, resource_size_t *phys);
> +static int mapram_unpoint(struct mtd_info *mtd, loff_t from, size_t len);
>
>
>  static struct mtd_chip_driver mapram_chipdrv = {
> @@ -69,7 +72,9 @@ static struct mtd_info *map_ram_probe(struct map_info *map)
>         mtd->_read = mapram_read;
>         mtd->_write = mapram_write;
>         mtd->_panic_write = mapram_write;
> +       mtd->_point = mapram_point;
>         mtd->_sync = mapram_nop;
> +       mtd->_unpoint = mapram_unpoint;
>         mtd->flags = MTD_CAP_RAM;
>         mtd->writesize = 1;
>
> @@ -96,6 +101,25 @@ static unsigned long mapram_unmapped_area(struct mtd_info *mtd,
>         return (unsigned long) map->virt + offset;
>  }
>
> +static int mapram_point(struct mtd_info *mtd, loff_t from, size_t len,
> +                       size_t *retlen, void **virt, resource_size_t *phys)
> +{
> +       struct map_info *map = mtd->priv;
> +
> +       if (!map->virt)
> +               return -EINVAL;
> +       *virt = map->virt + from;
> +       if (phys)
> +               *phys = map->phys + from;
> +       *retlen = len;
> +       return 0;
> +}
> +
> +static int mapram_unpoint(struct mtd_info *mtd, loff_t from, size_t len)
> +{
> +       return 0;
> +}
> +

Reviewed-by: Richard Weinberger <richard at nod.at>

-- 
Thanks,
//richard



More information about the linux-mtd mailing list