From: Sascha Sommer <saschasommer@freenet.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: rmk+mmc@arm.linux.org.uk
Subject: Experimental driver for Ricoh Bay1Controller SD Card readers
Date: Sun, 7 Jan 2007 00:32:26 +0100 [thread overview]
Message-ID: <200701070032.27234.saschasommer@freenet.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 1654 bytes --]
Hi,
Attached is a very experimental driver for a Ricoh SD Card reader that can be
found in some notebooks like the Samsung P35.
Whenever a sd card is inserted into one of these notebooks, a virtual pcmcia
card will show up:
Socket 0:
product info: "RICOH", "Bay1Controller", "", ""
manfid: 0x0000, 0x0000
In order to write this driver I hacked qemu to have access to the cardbus
bridge containing this card. I then logged the register accesses of the
windows xp driver and tryed to analyse them.
As the meanings of most of the register are still unknown to me, I consider
this driver very experimental. It is possible that this driver might destroy
your data or your hardware. Use at your own risk!
Other problems:
- I only implemented reading support
- I only tested with a 128 MB SD card, no idea what would be needed to support
other card types
- irqs are not supported
- dma is not supported
- it is very slow
- the registers can be found on the cardbus bridge and not on the virtual
pcmcia card. The cardbus bridge is already claimed by yenta_socket.
Therefore the driver currently uses pci_find_device to find the cardbus
bridge containing the sd card reader registers.
- it will probably crash when you remove the sd card without unmounting first
- the ios stuff is not really understood
- there are a bunch of extra MMC_APP_CMDs inside the driver
- only tested with kernel 2.6.18
apart from all these problems reading an image from my sd card seems to have
worked ;)
If you are still brave enough to try it out make at least a backup of the data
on your sd card.
Feedback is highly appreciated.
Regards
Sascha
[-- Attachment #2: Makefile --]
[-- Type: text/x-makefile, Size: 406 bytes --]
KERNEL_VERSION = $(shell uname -r)
KERNEL_DIR = /lib/modules/$(KERNEL_VERSION)/build
MDIR = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/mmc
obj-m += sdricoh_cs.o
default:
$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
install:
if test ! -d $(MDIR) ; then mkdir -p $(MDIR) ; fi
install -D -m 644 *.ko $(MDIR)
depmod -a
clean:
rm -f *.o *.ko *.mod.c .*o.cmd .*o.d .*o.flags
rm -rf .tmp_versions
[-- Attachment #3: sdricoh_cs.c.gz --]
[-- Type: application/x-gzip, Size: 4197 bytes --]
next reply other threads:[~2007-01-07 0:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-06 23:32 Sascha Sommer [this message]
2007-01-07 9:56 ` Experimental driver for Ricoh Bay1Controller SD Card readers Jiri Slaby
2007-02-11 20:22 ` Sascha Sommer
2007-02-13 5:47 ` Pierre Ossman
2007-02-13 9:48 ` Samuel Thibault
2007-02-13 11:42 ` Sascha Sommer
2007-01-09 20:57 ` Samuel Thibault
2007-01-10 20:10 ` Pierre Ossman
2007-02-15 22:34 Ivan Babkin
2007-03-09 13:23 ` James
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=200701070032.27234.saschasommer@freenet.de \
--to=saschasommer@freenet.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+mmc@arm.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.