[PATCH v2 04/13] commands: add mknod command
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Dec 15 03:21:29 PST 2025
Hi,
On 12/9/25 1:51 PM, Sascha Hauer wrote:
> Add a mknod command. This is intended for testing/debugging purposes as
> normally device special nodes are created automatically in devfs.
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
Reviewed-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
Single nitpick below:
> +static int do_mknod(int argc, char *argv[])
> +{
> + const char *filename, *cdevname;
> + umode_t mode;
> +
> + if (argc < 4)
argc != 4 to reduce misuse.
> + return COMMAND_ERROR_USAGE;
> +
> + filename = argv[1];
> + if (!strcmp(argv[2], "b"))
> + mode = S_IFBLK;
> + else if (!strcmp(argv[2], "c"))
> + mode = S_IFCHR;
> + else
> + return COMMAND_ERROR_USAGE;
> +
> + cdevname = argv[3];
> +
> + return mknod(filename, mode, cdevname);
> +}
> +
> +BAREBOX_CMD_HELP_START(mknod)
> +BAREBOX_CMD_HELP_TEXT("make a device special node.")
> +BAREBOX_CMD_HELP_TEXT("")
> +BAREBOX_CMD_HELP_TEXT("usage: mknod <name> c|b <cdevname>")
> +BAREBOX_CMD_HELP_TEXT("")
> +BAREBOX_CMD_HELP_TEXT("Create a device special node named <name> directing")
> +BAREBOX_CMD_HELP_TEXT("to cdev <cdevname>. This can either be a block (b) or")
> +BAREBOX_CMD_HELP_TEXT("character (c) device.")
> +BAREBOX_CMD_HELP_END
> +
> +BAREBOX_CMD_START(mknod)
> + .cmd = do_mknod,
> + BAREBOX_CMD_DESC("make device nodes")
> + BAREBOX_CMD_OPTS("NAME TYPE CDEVNAME")
> + BAREBOX_CMD_GROUP(CMD_GRP_FILE)
> + BAREBOX_CMD_HELP(cmd_mknod_help)
> +BAREBOX_CMD_END
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list