Compile program using XGpio

Bruno Monteiro bms.monteiro at gmail.com
Fri Oct 24 03:58:50 EST 2008


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 <John.Linn at xilinx.com> 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:* linuxppc-embedded-bounces+john.linn=xilinx.com at ozlabs.org [mailto:
> linuxppc-embedded-bounces+john.linn<linuxppc-embedded-bounces%2Bjohn.linn>
> =xilinx.com at ozlabs.org] *On Behalf Of *Bruno Monteiro
> *Sent:* Tuesday, October 21, 2008 8:36 AM
> *To:* linuxppc-embedded at 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20081023/3d8169db/attachment.htm>


More information about the Linuxppc-embedded mailing list