Hi, I'm a new driver writer and i'm trying to understand how to deal with XGpio. My goal is writing a small piece of code that can turn leds on and off. I think this driver should do it:
#include <linux/init.h> #include <linux/module.h> #include "xgpio.h" #include "xgpio_ioctl.h" #include "xparameters.h" XGpio led; static int myteste_init(void) { XGpio_Initialize (&led, LEDs_4Bit); XGpio_SetDataDirection(&led,1,0); XGpio_DiscreteWrite(&led,1,0xf); printk (KERN_ALERT "LEDS: Turn off\n"); return 0; } static int myteste_exit(void) { XGpio_DiscreteWrite(&led,1,0x0); printk (KERN_ALERT "LEDS: Turn on\n"); return 0; } module_init(myteste_init); module_exit(myteste_exit); But i have this error: ERROR: "XGpio_SetDataDirection" [drivers/char/mytest/mytest.ko] undefined! ERROR: "XGpio_Initialize" [drivers/char/mytest/mytest.ko] undefined! ERROR: "XGpio_DiscreteWrite" [drivers/char/mytest/mytest.ko] undefined! Any suggestion? This is the makefile: EXTRA_CFLAGS += -I$(TOPDIR)/drivers/xilinx_common EXTRA_CFLAGS += -I$(TOPDIR)/drivers/char/xilinx_gpio obj-$(CONFIG_MY_TEST) := mytest.o Is there any way to use *.dts instead xparameters.h Thanks, Bruno On Tue, Oct 21, 2008 at 9:08 PM, John Linn <[EMAIL PROTECTED]> wrote: > Hi Bruno, > > > > I don't think you can do what you're trying to do, unless I'm > misunderstanding or just not smart enough. > > > > The EDK from Xilinx ships with drivers that are not Linux drivers. Those > functions in main below are intended for a standalone (no RTOS) system such > they can't just be called from a user app in Linux. You are sort of trying > to create a user mode driver with what you are doing. > > > > There is a character mode gpio driver in the Xilinx git tree, git:// > git.xilinx.com/linux-2.6-xlnx.git that has been used previously. I don't > currently test that driver as we're in the process of getting a flattened > gpio driver that is not char driver ready for mainline. > > > > I plan to take a look at the char mode gpio driver today as there's another > question regarding it on the list. > > > > Thanks, > > John > > > > > ------------------------------ > > *From:* [EMAIL PROTECTED] [mailto: > linuxppc-embedded-bounces+john.linn<linuxppc-embedded-bounces%2Bjohn.linn> > [EMAIL PROTECTED] *On Behalf Of *Bruno Monteiro > *Sent:* Tuesday, October 21, 2008 8:36 AM > *To:* linuxppc-embedded@ozlabs.org > *Subject:* Compile program using XGpio > > > > Hi all, > > > I'm working with a Virtex2p. I have a running system using: > > - EDK 9.1 > - Crosstool-ng (svn) > - linux-2.6-xlnx > - BusyBox 1.12.1 > > Now, i'm trying to build a small program that turn off leds. I guess it > should be something like this: > > void main (void){ > XGpio led; > XGpio_Initialize (&led, XPAR_LEDS_4BIT_DEVICE_ID); > XGpio_SetDataDirection(&led,1,0); > XGpio_DiscreteWrite(&led,1,0xf); > } > > > I want to know how to compile it (without EDK). Any suggestion? > > > Thanks, > Bruno Monteiro > > This email and any attachments are intended for the sole use of the named > recipient(s) and contain(s) confidential information that may be > proprietary, privileged or copyrighted under applicable law. If you are not > the intended recipient, do not read, copy, or forward this email message or > any attachments. Delete this email message and any attachments immediately. >
_______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded