From 0e4fdcc81b8f47b613b8d3d61005bc920a2ebcad Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Sat, 9 Jun 2012 11:34:25 +0400 Subject: Move /dev/zero to separate unit This patch allows to present "/dev/zero" always in system and not depending of mem-command. Standard files allow to test other memory devices, not only "mem", such as NOR, NAND, MCI-devices e.t.c. Signed-off-by: Alexander Shiyan Signed-off-by: Sascha Hauer --- commands/stddev.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 commands/stddev.c (limited to 'commands/stddev.c') diff --git a/commands/stddev.c b/commands/stddev.c new file mode 100644 index 0000000000..18fea94074 --- /dev/null +++ b/commands/stddev.c @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2011 Sascha Hauer , Pengutronix + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * MA 02111-1307 USA + */ + +#include +#include + +static ssize_t zero_read(struct cdev *cdev, void *buf, size_t count, ulong offset, ulong flags) +{ + memset(buf, 0, count); + return count; +} + +static struct file_operations zeroops = { + .read = zero_read, + .lseek = dev_lseek_default, +}; + +static int zero_init(void) +{ + struct cdev *cdev; + + cdev = xzalloc(sizeof (*cdev)); + + cdev->name = "zero"; + cdev->size = ~0; + cdev->ops = &zeroops; + + devfs_create(cdev); + + return 0; +} + +device_initcall(zero_init); -- cgit v1.2.3