public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* module programming blues
@ 2003-01-29  4:56 Dhruv Gami
  2003-02-03 21:57 ` Daniel Heater
  0 siblings, 1 reply; 3+ messages in thread
From: Dhruv Gami @ 2003-01-29  4:56 UTC (permalink / raw)
  To: linux-kernel

Hello Everyone,

I am trying to develop a kernel module that will read
some user input (being given to a file) and perform
certain flag settings based on the information dumped
in the file.

After reading up on the basics of kernel programming
etc (im a newbie), i wrote a code that creates a
character device, and uses ioctl to read and write
from the file kept in user space.

I got sample code from The Linux Kernel Module
Programming Guide by Ori Pomerantz. In chapter 5, it
talks about talking to character devices.

I am able to compile the code, and insmod my module.
The problem is that the function device_open is not
being called on accessing it. It calls device_release
TWICE, and thus reduces  reference count by 2, taking
the count in negatives. That way im unable to rmmod
this module. 

Also, I am not able to figure out how to interact with
this module. If i cat something onto it, it goes into
an infinite loop echo'ing the file again n again.

If i do "/dev/char_dev < params" where /dev/char_dev
is the device i made using mknod(and giving major
number returned by my module), it gives an error
saying Permission Denied.

Can somebody tell me what i'm doing wrong ? Or give me
some pointers to text that can explain how things work
in a module. I dont know how control flows within a
module once init_module has been called.

Kindly CC replies to dhruvgami@yahoo.com as i am not
subscribed to the list.

thanks in advance
regards,
Gami

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: module programming blues
  2003-01-29  4:56 module programming blues Dhruv Gami
@ 2003-02-03 21:57 ` Daniel Heater
  2003-02-03 22:23   ` Richard B. Johnson
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Heater @ 2003-02-03 21:57 UTC (permalink / raw)
  To: Dhruv Gami; +Cc: linux-kernel

* Dhruv Gami (dhruvgami@yahoo.com) wrote:
> Hello Everyone,
> 
> I am trying to develop a kernel module that will read
> some user input (being given to a file) and perform
> certain flag settings based on the information dumped
> in the file.

Could this task be handled using module parameters instead?


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: module programming blues
  2003-02-03 21:57 ` Daniel Heater
@ 2003-02-03 22:23   ` Richard B. Johnson
  0 siblings, 0 replies; 3+ messages in thread
From: Richard B. Johnson @ 2003-02-03 22:23 UTC (permalink / raw)
  To: Daniel Heater; +Cc: Dhruv Gami, linux-kernel

On Mon, 3 Feb 2003, Daniel Heater wrote:

> * Dhruv Gami (dhruvgami@yahoo.com) wrote:
> > Hello Everyone,
> > 
> > I am trying to develop a kernel module that will read
> > some user input (being given to a file) and perform
> > certain flag settings based on the information dumped
> > in the file.
> 

Easy. You have a user-program open the device and send it
parameters via ioctl(). That's the way it's supposed to be
done in a Unix environment. Devices get their parameters via
ioctls.

I have modules that get the entire contents of ASICs from
the contents of user-mode files. Something, at some time,
needs to `insmod` the module anyway. The exact same procedure
that does that can run a program that configures the module
dynamicaly, based, not only on the contents of files, but also
anything else. Do not make hacks to read files from the kernel.


Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-02-03 22:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-29  4:56 module programming blues Dhruv Gami
2003-02-03 21:57 ` Daniel Heater
2003-02-03 22:23   ` Richard B. Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox