diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-07-02 11:03:24 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-07-02 11:04:25 +0200 |
commit | 62fe47768b26b7dceda983a16b042ddc4b59d246 (patch) | |
tree | 63930861f406521a41066cc5408044b52c5cb1d8 | |
parent | c77dd2a81b178e4530aaad6413697d9cb5ea870e (diff) | |
parent | 488dc91f93bc143c7fa7d435fba0a5f0a70fd137 (diff) | |
download | barebox-62fe47768b26b7dceda983a16b042ddc4b59d246.tar.gz barebox-62fe47768b26b7dceda983a16b042ddc4b59d246.tar.xz |
Merge branch 'for-next/devnull'
Conflicts:
commands/mem.c
-rw-r--r-- | commands/Makefile | 1 | ||||
-rw-r--r-- | commands/mem.c | 29 | ||||
-rw-r--r-- | commands/stddev.c | 106 |
3 files changed, 107 insertions, 29 deletions
diff --git a/commands/Makefile b/commands/Makefile index 7aba4e7176..ba9ec48ccd 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -1,3 +1,4 @@ +obj-y += stddev.o obj-$(CONFIG_CMD_BOOTM) += bootm.o obj-$(CONFIG_CMD_UIMAGE) += uimage.o obj-$(CONFIG_CMD_LINUX16) += linux16.o diff --git a/commands/mem.c b/commands/mem.c index b8e3bc43b8..407470d7be 100644 --- a/commands/mem.c +++ b/commands/mem.c @@ -622,32 +622,3 @@ static int mem_init(void) } device_initcall(mem_init); - -static ssize_t zero_read(struct cdev *cdev, void *buf, size_t count, loff_t 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); - diff --git a/commands/stddev.c b/commands/stddev.c new file mode 100644 index 0000000000..97080eb43c --- /dev/null +++ b/commands/stddev.c @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2011 Sascha Hauer <s.hauer@pengutronix.de>, 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 <common.h> +#include <init.h> + +static ssize_t zero_read(struct cdev *cdev, void *buf, size_t count, loff_t 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); + +static ssize_t full_read(struct cdev *cdev, void *buf, size_t count, loff_t offset, ulong flags) +{ + memset(buf, 0xff, count); + return count; +} + +static struct file_operations fullops = { + .read = full_read, + .lseek = dev_lseek_default, +}; + +static int full_init(void) +{ + struct cdev *cdev; + + cdev = xzalloc(sizeof (*cdev)); + + cdev->name = "full"; + cdev->size = ~0; + cdev->ops = &fullops; + + devfs_create(cdev); + + return 0; +} + +device_initcall(full_init); + +static ssize_t null_write(struct cdev *cdev, const void *buf, size_t count, loff_t offset, ulong flags) +{ + return count; +} + +static struct file_operations nullops = { + .write = null_write, + .lseek = dev_lseek_default, +}; + +static int null_init(void) +{ + struct cdev *cdev; + + cdev = xzalloc(sizeof (*cdev)); + + cdev->name = "null"; + cdev->size = 0; + cdev->ops = &nullops; + + devfs_create(cdev); + + return 0; +} + +device_initcall(null_init); |