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 ` 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome