[Suzaku:00634] Re: ドライバーがinsmodで組み込まれない

Abe email@hidden
2006年 9月 4日 (月) 11:22:42 JST


abe です。

ご教示、ありがとうございます。

また分からない点が出ましたら、よろしくお願い致します。

----- Original Message ----- 
From: "Tetsuya Ohkawa" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Saturday, September 02, 2006 11:44 AM
Subject: [Suzaku:00633] Re: ドライバーがinsmodで組み込まれない


> 大川です。
>
> 簡素なキャラクタデバイスドライバを作成して、
> モジュールのロードを試してみました。
> 私の環境では、特に問題なく
> ・uClinux-dist-20040408-suzaku6
> ・uClinux-dist-20051110-suzaku2
> の両方で、できました。
>
> 問題解決の参考になるかもしれませんので、
> テスト用に作成したドライバのパッチを添付します。
>
>
> linux-2.4.x/drivers/char/Config.in     |    1
> linux-2.4.x/drivers/char/Makefile      |    1
> linux-2.4.x/drivers/char/test-driver.c |   75 
> +++++++++++++++++++++++++++++++++
> vendors/AtmarkTechno/SUZAKU-V/Makefile |    4 +
> 4 files changed, 81 insertions(+)
>
> Index: 
> uClinux-dist-20051110-suzaku2/vendors/AtmarkTechno/SUZAKU-V/Makefile
> ===================================================================
> ---  
> uClinux-dist-20051110-suzaku2.orig/vendors/AtmarkTechno/SUZAKU-V/Makefile 
> 2006-08-31 20:56:32.000000000 +0900
> +++ uClinux-dist-20051110-suzaku2/vendors/AtmarkTechno/SUZAKU-V/Makefile 
> 2006-09-01 21:07:24.412087048 +0900
> @@ -84,6 +84,10 @@
>  ttyS1,c,4,65
> endif
>
> +#ifdef CONFIG_SUZAKU_TEST
> +DEVICES += atmark,c,253,0
> +#endif
> +
> FLASH_DEVICES = \
>  all,c,90,0 \
>  fpga,c,90,2 \
> Index: uClinux-dist-20051110-suzaku2/linux-2.4.x/drivers/char/Makefile
> ===================================================================
> --- uClinux-dist-20051110-suzaku2.orig/linux-2.4.x/drivers/char/Makefile 
> 2006-08-31 20:56:32.000000000 +0900
> +++ uClinux-dist-20051110-suzaku2/linux-2.4.x/drivers/char/Makefile 
> 2006-08-31 21:00:40.000000000 +0900
> @@ -248,6 +248,7 @@
> #
> # uClinux drivers
> #
> +obj-$(CONFIG_SUZAKU_TEST)  += test-driver.o
> obj-$(CONFIG_EB67XDIP_QUADSER) += oki_ml67x_quad.o
> obj-$(CONFIG_MACH_EB67XDIP) += oki_ml67x.o
> obj-$(CONFIG_SERIAL_ML67XXXX) += serial_ml67xxxx.o
> Index: uClinux-dist-20051110-suzaku2/linux-2.4.x/drivers/char/Config.in
> ===================================================================
> --- uClinux-dist-20051110-suzaku2.orig/linux-2.4.x/drivers/char/Config.in 
> 2006-09-01 21:02:22.530979952 +0900
> +++ uClinux-dist-20051110-suzaku2/linux-2.4.x/drivers/char/Config.in 
> 2006-09-01 21:04:56.776531064 +0900
> @@ -22,6 +22,7 @@
>     tristate '  Rotaly code switch support' CONFIG_SUZAKU_SIL_RSW
>     bool     '  RS232C support' CONFIG_SUZAKU_SIL_RS232C
>   fi
> +  tristate 'Test Driver support' CONFIG_SUZAKU_TEST
> fi
>
> if [ "$CONFIG_EXCALIBUR" = "y" ]; then
> Index: 
> uClinux-dist-20051110-suzaku2/linux-2.4.x/drivers/char/test-driver.c
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ uClinux-dist-20051110-suzaku2/linux-2.4.x/drivers/char/test-driver.c 
> 2006-09-01 21:06:51.555082072 +0900
> @@ -0,0 +1,75 @@
> +/**
> + * drivers/char/test-driver.c -- SUZAKU-V Test Driver
> + *
> + *  Copyright (C) 2006 Atmark Techno, Inc.
> + *
> + * Tetsuya OHKAWA <email@hidden>
> + */
> +
> +#include <linux/config.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/init.h>
> +#include <linux/fs.h>
> +#include <linux/sched.h>
> +#include <linux/slab.h>
> +#include <linux/types.h>
> +#include <linux/errno.h>
> +
> +#define DEV_NAME           "atmark"
> +#define DEV_MAJOR          253
> +#define DEV_VER            "1.0.0"
> +
> +static ssize_t test_read(struct file *filp, char __user *buf,
> + size_t count, loff_t *offp)
> +{
> + ssize_t retval = 0;
> + return retval;
> +}
> +
> +static ssize_t test_write(struct file *filp, const char __user *buf,
> +   size_t count, loff_t *offp)
> +{
> + ssize_t retval = count;
> +
> + return retval;
> +}
> +
> +static int test_open(struct inode *inode, struct file *filp)
> +{
> + return 0;
> +}
> +
> +static int test_close(struct inode *inode, struct file *filp)
> +{
> + return 0;
> +}
> +
> +static struct file_operations test_fops = {
> + owner:   THIS_MODULE,
> + open:    test_open,
> + release: test_close,
> + read:    test_read,
> + write:   test_write,
> +};
> +
> +static int __init test_init_module(void)
> +{
> + int ret;
> +
> + pr_info(DEV_NAME" ("DEV_VER") : TEST Driver of SUZAKU-V\n");
> +
> + ret = register_chrdev(DEV_MAJOR, DEV_NAME, &test_fops);
> + return ret;
> +}
> +
> +static void __exit test_cleanup_module(void)
> +{
> + unregister_chrdev(DEV_MAJOR, DEV_NAME);
> +}
> +
> +module_init(test_init_module);
> +module_exit(test_cleanup_module);
> +
> +MODULE_AUTHOR("Tetsuya Ohkawa");
> +MODULE_LICENSE("GPL v2");
>
> Abe wrote:
>> abeと申します。
>>
>> distを uClinux-dist-20040408-suzaku6 から uClinux-dist-20051110-suzaku2 に
>>
>> 更新し、dateが上手くいくのは確認したのですが
>> これまでinsmodで組み込めたドライバーが組み込めなくなりました。
>>
>> # insmod /bin/sensor.o
>> Using /bin/sensor.o
>> # more /proc/devices
>> Character devices:
>>   1 mem
>>   2 pty
>>   3 ttyp
>>   4 ttl
>>   5 console
>>  10 misc
>>  90 mtd
>> 162 raw
>> 254 cul
>>
>> Block devices:
>>  31 mtdblock
>>
>> 再度
>> # insmod /bin/sensor.o
>> Using /bin/sensor.o
>> insmod: A module named sensor already exists
>>
>> です。
>>
>> 勿論、configはローダブルをイネーブルにしています。
>>
>> どなたかお分かりの方がいらっしゃいましたら、ご教示のほど
>> よろしくお願いします。
>>
>> _______________________________________________
>> suzaku mailing list
>> email@hidden
>> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>>
>
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
> 




suzaku メーリングリストの案内