6c


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#define BUF_SIZE 4096

char *mydev_buffer = NULL;
MODULE_LICENSE("GPL");
char tab[1];
struct file_operations fops = {0};


ssize_t myWrite (struct file* f, char* from, int rozmiar, loff_t* offset)
{
printk(KERN_ALERT"szcz: uzyto write");

copy_from_user(tab, from, 1);

if(tab[0] == '1')
{
if (!gpio_is_valid(0))
{
printk(KERN_ALERT"szcz: Gpio 0 is not valid");
}
else
{
gpio_direction_output(0, 1);
gpio_set_value(0, 1);
}

}
else
{
if(!gpio_is_valid(0))
{
printk(KERN_ALERT"szcz: Gpio 0 is not valid");
}
else
{
gpio_direction_output(0, 0);
gpio_set_value(0, 0);
}

}
}

static int hello_init(void)
{
//struct file_operations fops = {0};
fops.write = myWrite;

int wynik = register_chrdev(824, "szcz", &fops);

if(wynik < 0)
{
printk(KERN_ALERT"szcz: ERROR!");
return 0;
}
else
{
printk(KERN_ALERT"szcz: Success!");
return 0;
}

return 0;
}

int close_init(void)
{
printk(KERN_ALERT"szcz: Koniec");
unregister_chrdev(824, "szcz");
return 0;
}

module_init(hello_init);
module_exit(close_init);


---------------------------------------------
obj-m += lab7.o

all:
make -C /lib/modules/3.6.11+/build M=$(PWD) modules

clean:
make -C /lib/modules/3.6.11+/build M=$(PWD) clean
psobon@pk:~/lab6$



Wyszukiwarka

Podobne podstrony:
6c
CZĘŚĆ 6C WSTĘP DO SZCZEGÓLNEJ TEORII WZGLĘDNOŚCI
Catapillar kop 301 6C 301 8C mini
Step 6c
Catapillar kop 301 6C
temat 6c
6c
ŚrodkiTransportu Dalekiego wykład 6c

więcej podobnych podstron