Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 338523
b: refs/heads/master
c: c30186e
h: refs/heads/master
i:
  338521: 65a0625
  338519: d6fc715
v: v3
  • Loading branch information
Greg Kroah-Hartman committed Oct 24, 2012
1 parent 395622d commit 6f6daaa
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 26 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 068b054fde5cc0516717b4ec4d58d0659e1ca43b
refs/heads/master: c30186e51e537d3ae8b1134983c1a5b4db3a8840
39 changes: 22 additions & 17 deletions trunk/drivers/usb/misc/ezusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,24 @@
#include <linux/usb.h>
#include <linux/firmware.h>
#include <linux/ihex.h>
#include <linux/usb/ezusb.h>

struct ezusb_fx_type {
/* EZ-USB Control and Status Register. Bit 0 controls 8051 reset */
unsigned short cpucs_reg;
unsigned short max_internal_adress;
};

struct ezusb_fx_type ezusb_fx1 = {
static struct ezusb_fx_type ezusb_fx1 = {
.cpucs_reg = 0x7F92,
.max_internal_adress = 0x1B3F,
};

struct ezusb_fx_type ezusb_fx2 = {
.cpucs_reg = 0xE600,
.max_internal_adress = 0x3FFF,
};

/* Commands for writing to memory */
#define WRITE_INT_RAM 0xA0
#define WRITE_EXT_RAM 0xA3

int ezusb_writememory(struct usb_device *dev, int address,
static int ezusb_writememory(struct usb_device *dev, int address,
unsigned char *data, int length, __u8 request)
{
int result;
Expand All @@ -58,10 +54,9 @@ int ezusb_writememory(struct usb_device *dev, int address,
kfree(transfer_buffer);
return result;
}
EXPORT_SYMBOL_GPL(ezusb_writememory);

int ezusb_set_reset(struct usb_device *dev, unsigned short cpucs_reg,
unsigned char reset_bit)
static int ezusb_set_reset(struct usb_device *dev, unsigned short cpucs_reg,
unsigned char reset_bit)
{
int response = ezusb_writememory(dev, cpucs_reg, &reset_bit, 1, WRITE_INT_RAM);
if (response < 0)
Expand All @@ -76,12 +71,6 @@ int ezusb_fx1_set_reset(struct usb_device *dev, unsigned char reset_bit)
}
EXPORT_SYMBOL_GPL(ezusb_fx1_set_reset);

int ezusb_fx2_set_reset(struct usb_device *dev, unsigned char reset_bit)
{
return ezusb_set_reset(dev, ezusb_fx2.cpucs_reg, reset_bit);
}
EXPORT_SYMBOL_GPL(ezusb_fx2_set_reset);

static int ezusb_ihex_firmware_download(struct usb_device *dev,
struct ezusb_fx_type fx,
const char *firmware_path)
Expand Down Expand Up @@ -151,10 +140,26 @@ int ezusb_fx1_ihex_firmware_download(struct usb_device *dev,
}
EXPORT_SYMBOL_GPL(ezusb_fx1_ihex_firmware_download);

#if 0
/*
* Once someone one needs these fx2 functions, uncomment them
* and add them to ezusb.h and all should be good.
*/
static struct ezusb_fx_type ezusb_fx2 = {
.cpucs_reg = 0xE600,
.max_internal_adress = 0x3FFF,
};

int ezusb_fx2_set_reset(struct usb_device *dev, unsigned char reset_bit)
{
return ezusb_set_reset(dev, ezusb_fx2.cpucs_reg, reset_bit);
}
EXPORT_SYMBOL_GPL(ezusb_fx2_set_reset);

int ezusb_fx2_ihex_firmware_download(struct usb_device *dev,
const char *firmware_path)
{
return ezusb_ihex_firmware_download(dev, ezusb_fx2, firmware_path);
}
EXPORT_SYMBOL_GPL(ezusb_fx2_ihex_firmware_download);

#endif
8 changes: 0 additions & 8 deletions trunk/include/linux/usb/ezusb.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
#ifndef __EZUSB_H
#define __EZUSB_H


extern int ezusb_writememory(struct usb_device *dev, int address,
unsigned char *data, int length, __u8 bRequest);

extern int ezusb_fx1_set_reset(struct usb_device *dev, unsigned char reset_bit);
extern int ezusb_fx2_set_reset(struct usb_device *dev, unsigned char reset_bit);

extern int ezusb_fx1_ihex_firmware_download(struct usb_device *dev,
const char *firmware_path);
extern int ezusb_fx2_ihex_firmware_download(struct usb_device *dev,
const char *firmware_path);

#endif /* __EZUSB_H */

0 comments on commit 6f6daaa

Please sign in to comment.