From: Jon Smirl <jonsmirl@gmail.com>
To: Greg KH <greg@kroah.com>
Cc: dtor_core@ameritech.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] driver core: Add the ability to unbind drivers to devices from userspace
Date: Wed, 27 Jul 2005 22:05:34 -0400 [thread overview]
Message-ID: <9e47339105072719057c833e62@mail.gmail.com> (raw)
In-Reply-To: <9e473391050725201553f3e8be@mail.gmail.com>
Any comments on this? I'll fix up the whitespace issues if everyone
agrees that the code works.
This patch will break all of the fbdev attributes since I was making
wrong assumptions. I have another patch ready to fix them after this
one goes in.
On 7/25/05, Jon Smirl <jonsmirl@gmail.com> wrote:
> On 7/25/05, Greg KH <greg@kroah.com> wrote:
> > > I'll put one together to trim leading/trailing white space from the
> > > buffer before it is passed into the attribute functions. Now that I
> > > think about this I believe the attributes should have always had the
> > > leading/trailing white space removed. If we don't do it in the sysfs
> > > code then every driver has to do it.
> >
> > Ok, sounds good.
>
> How does this look? This is a count based interface but a lot of
> attributes don't work unless I add the terminating zero. This
> interface should be documented: count or zero terminated, white space
> stripped or not, etc. Are these strings ASCII, UTF8, Unicode?
>
> diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
> --- a/fs/sysfs/file.c
> +++ b/fs/sysfs/file.c
> @@ -6,6 +6,7 @@
> #include <linux/fsnotify.h>
> #include <linux/kobject.h>
> #include <linux/namei.h>
> +#include <linux/ctype.h>
> #include <asm/uaccess.h>
> #include <asm/semaphore.h>
>
> @@ -207,6 +208,28 @@ flush_write_buffer(struct dentry * dentr
> struct attribute * attr = to_attr(dentry);
> struct kobject * kobj = to_kobj(dentry->d_parent);
> struct sysfs_ops * ops = buffer->ops;
> + char *x, *y, *z;
> +
> + /* locate leading white space */
> + x = buffer->page;
> + while( isspace(*x) && (x - buffer->page < count))
> + x++;
> +
> + /* locate trailng white space */
> + z = y = x;
> + while (y - buffer->page < count) {
> + y++;
> + z = y;
> + while( isspace(*y) && (y - buffer->page < count)) {
> + y++;
> + }
> + }
> + count = z - x;
> +
> + /* strip the white space */
> + if (buffer->page != x)
> + memmove(buffer->page, x, count);
> + buffer->page[count] = '\0';
>
> return ops->store(kobj,attr,buffer->page,count);
> }
>
>
> --
> Jon Smirl
> jonsmirl@gmail.com
>
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2005-07-28 2:06 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-25 4:09 [PATCH] driver core: Add the ability to unbind drivers to devices from userspace Jon Smirl
2005-07-25 4:58 ` Dmitry Torokhov
2005-07-25 14:28 ` Jon Smirl
2005-07-25 14:48 ` Dmitry Torokhov
2005-07-25 16:30 ` Jon Smirl
2005-07-26 0:00 ` Greg KH
2005-07-26 0:28 ` Jon Smirl
2005-07-26 0:30 ` Greg KH
2005-07-26 0:56 ` Jon Smirl
2005-07-26 1:54 ` Greg KH
2005-07-26 3:15 ` Jon Smirl
2005-07-26 3:29 ` Dmitry Torokhov
2005-07-28 2:05 ` Jon Smirl [this message]
2005-07-28 3:46 ` Greg KH
2005-07-28 3:59 ` Jon Smirl
2005-07-28 4:05 ` Greg KH
2005-07-28 4:49 ` Jon Smirl
2005-07-28 5:49 ` Greg KH
2005-07-28 7:04 ` Mitchell Blank Jr
2005-07-28 12:54 ` Jon Smirl
2005-07-28 13:09 ` Oliver Neukum
2005-07-28 13:16 ` Paulo Marques
2005-07-28 18:09 ` Mitchell Blank Jr
2005-07-28 19:03 ` Greg KH
2005-07-28 19:57 ` Jon Smirl
2005-07-28 20:22 ` Mitchell Blank Jr
2005-07-28 20:27 ` Jon Smirl
2005-07-29 18:50 ` Jon Smirl
2005-08-06 0:42 ` Greg KH
2005-08-06 3:48 ` Jon Smirl
2005-08-21 22:21 ` Jon Smirl
2005-07-28 21:10 ` Oliver Neukum
2005-07-28 21:12 ` Jon Smirl
2002-01-01 7:53 ` Pavel Machek
2005-08-05 13:32 ` Jon Smirl
2005-08-05 18:01 ` Oliver Neukum
2005-08-05 18:14 ` Jon Smirl
2005-08-05 18:20 ` Oliver Neukum
2005-08-05 18:47 ` Jon Smirl
2005-08-05 20:07 ` Oliver Neukum
2005-08-05 20:33 ` Jon Smirl
2005-08-06 9:39 ` Oliver Neukum
2005-08-07 18:50 ` Pavel Machek
2005-08-07 18:47 ` Pavel Machek
2005-08-07 20:17 ` Jon Smirl
2005-08-07 21:06 ` Pavel Machek
2005-08-05 22:31 ` David Weinehall
2005-07-28 21:17 ` Oliver Neukum
2005-07-28 12:52 ` Jon Smirl
-- strict thread matches above, loose matches on Subject: below --
2005-06-30 6:04 [PATCH] driver core: add bus_find_device & driver_find_device functions Greg KH
2005-06-30 6:04 ` [PATCH] driver core: Add the ability to unbind drivers to devices from userspace Greg KH
2005-06-30 6:25 ` Dmitry Torokhov
2005-06-30 6:29 ` Greg KH
2005-06-24 5:12 [RFC] bind and unbind drivers from userspace through sysfs Greg KH
2005-06-24 5:14 ` [PATCH] driver core: Add the ability to unbind drivers to devices from userspace Greg KH
2005-06-24 15:57 ` Patrick Mochel
2005-06-25 3:27 ` Greg KH
2005-06-25 4:16 ` Dmitry Torokhov
2005-06-25 9:39 ` Michael Tokarev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e47339105072719057c833e62@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=dtor_core@ameritech.net \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox