From: Robert Schwebel <r.schwebel@pengutronix.de>
To: Heiko Schocher <hs@denx.de>
Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
Detlev Zundel <dzu@denx.de>
Subject: Re: SYSFS: need a noncaching read
Date: Wed, 12 Sep 2007 07:32:07 +0200 [thread overview]
Message-ID: <20070912053207.GH23573@pengutronix.de> (raw)
In-Reply-To: <1189503798.6674.46.camel@Zeus.EmbLux>
On Tue, Sep 11, 2007 at 11:43:17AM +0200, Heiko Schocher wrote:
> I have developed a device driver and use the sysFS to export some
> registers to userspace.
Uuuh, uggly. Don't do that. Device drivers are there to abstract things,
not to play around with registers from userspace.
> I opened the sysFS File for one register and did some reads from this
> File, but I alwas becoming the same value from the register, whats not
> OK, because they are changing. So I found out that the sysFS caches
> the reads ... :-(
Yes, it does. What you can do is close()ing the file handle between
accesses, which makes it work but is slow.
> Is there a way to retrigger the reads (in that way, that the sysFS
> rereads the values from the driver), without closing and opening the
> sysFS Files? Or must I better use the ioctl () Driver-interface for
> exporting these registers?
What kind of problem do you want to solve? Userspace is for
applications, and applications usually don't have to know about hardware
details like registers. So if you have to do something every 10 ms from
userspace, your design is probably wrong.
If you absolutely need to do such things from userspace, have a look at
uio. But in most cases the answer is: make a proper abstraction for the
problem you wanna solve and write a proper driver.
Robert
--
Pengutronix - Linux Solutions for Science and Industry
Entwicklungszentrum Nord http://www.pengutronix.de
next prev parent reply other threads:[~2007-09-12 5:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-11 9:43 SYSFS: need a noncaching read Heiko Schocher
2007-09-12 2:05 ` David Gibson
2007-09-12 3:18 ` Michael Ellerman
2007-09-12 5:32 ` Robert Schwebel [this message]
2007-09-12 10:01 ` Greg KH
2007-09-11 19:19 ` Nick Piggin
2007-09-12 17:57 ` Neil Brown
2007-09-12 11:13 ` Heiko Schocher
2007-09-12 11:39 ` Greg KH
2007-09-12 11:59 ` Heiko Schocher
2007-09-17 5:22 ` Tejun Heo
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=20070912053207.GH23573@pengutronix.de \
--to=r.schwebel@pengutronix.de \
--cc=dzu@denx.de \
--cc=hs@denx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.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;
as well as URLs for NNTP newsgroup(s).