[PATCH 1/4] mtd: add new ioctl structures to be used for repartitioning
Artem Bityutskiy
dedekind1 at gmail.com
Sun Jul 18 13:00:31 EDT 2010
CCing Arnd to review the ioctl interface.
One thing just struck me, see below.
On Fri, 2010-06-18 at 13:08 +0300, Roman Tereshonkov wrote:
> Signed-off-by: Roman Tereshonkov <roman.tereshonkov at nokia.com>
> ---
> include/mtd/mtd-abi.h | 15 +++++++++++++++
> 1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
> index be51ae2..c2c6b41 100644
> --- a/include/mtd/mtd-abi.h
> +++ b/include/mtd/mtd-abi.h
> @@ -88,6 +88,20 @@ struct otp_info {
> __u32 locked;
> };
>
> +#define MTD_MAX_PARTITION_NAME_LEN 64
> +struct mtd_partition_user {
> + __u64 size;
> + __u64 offset;
> + __u32 mask_flags;
> + char name[MTD_MAX_PARTITION_NAME_LEN];
> + __u8 padding[128]; /* reserved for future, must be zero! */
> +};
> +
> +struct mtd_partitions {
> + __u32 nparts;
> + struct mtd_partition_user __user *parts;
> +};
Hmm, I think nowadays pointers should be passed as __u64 and
compat_ioctl() should be avoided.
Also please, document the ioctl a little - add some comments.
> +
> #define MEMGETINFO _IOR('M', 1, struct mtd_info_user)
> #define MEMERASE _IOW('M', 2, struct erase_info_user)
> #define MEMWRITEOOB _IOWR('M', 3, struct mtd_oob_buf)
> @@ -110,6 +124,7 @@ struct otp_info {
> #define MEMERASE64 _IOW('M', 20, struct erase_info_user64)
> #define MEMWRITEOOB64 _IOWR('M', 21, struct mtd_oob_buf64)
> #define MEMREADOOB64 _IOWR('M', 22, struct mtd_oob_buf64)
> +#define MTDREPARTITION _IOW('M', 23, struct mtd_partitions)
>
> /*
> * Obsolete legacy interface. Keep it in order not to break userspace
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list