Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
memstick.c File Reference
#include <linux/memstick.h>
#include <linux/idr.h>
#include <linux/fs.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/module.h>

Go to the source code of this file.

Macros

#define DRIVER_NAME   "memstick"
 
#define memstick_device_suspend   NULL
 
#define memstick_device_resume   NULL
 
#define MEMSTICK_ATTR(name, format)
 
#define MEMSTICK_ATTR_RO(name)   __ATTR(name, S_IRUGO, name##_show, NULL)
 

Functions

 module_param (cmd_retries, uint, 0644)
 
 MEMSTICK_ATTR (type,"%02X")
 
 MEMSTICK_ATTR (category,"%02X")
 
 MEMSTICK_ATTR (class,"%02X")
 
void memstick_detect_change (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_detect_change)
 
int memstick_next_req (struct memstick_host *host, struct memstick_request **mrq)
 
 EXPORT_SYMBOL (memstick_next_req)
 
void memstick_new_req (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_new_req)
 
void memstick_init_req_sg (struct memstick_request *mrq, unsigned char tpc, const struct scatterlist *sg)
 
 EXPORT_SYMBOL (memstick_init_req_sg)
 
void memstick_init_req (struct memstick_request *mrq, unsigned char tpc, const void *buf, size_t length)
 
 EXPORT_SYMBOL (memstick_init_req)
 
int memstick_set_rw_addr (struct memstick_dev *card)
 
 EXPORT_SYMBOL (memstick_set_rw_addr)
 
struct memstick_hostmemstick_alloc_host (unsigned int extra, struct device *dev)
 
 EXPORT_SYMBOL (memstick_alloc_host)
 
int memstick_add_host (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_add_host)
 
void memstick_remove_host (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_remove_host)
 
void memstick_free_host (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_free_host)
 
void memstick_suspend_host (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_suspend_host)
 
void memstick_resume_host (struct memstick_host *host)
 
 EXPORT_SYMBOL (memstick_resume_host)
 
int memstick_register_driver (struct memstick_driver *drv)
 
 EXPORT_SYMBOL (memstick_register_driver)
 
void memstick_unregister_driver (struct memstick_driver *drv)
 
 EXPORT_SYMBOL (memstick_unregister_driver)
 
 module_init (memstick_init)
 
 module_exit (memstick_exit)
 
 MODULE_AUTHOR ("Alex Dubov")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_DESCRIPTION ("Sony MemoryStick core driver")
 

Macro Definition Documentation

#define DRIVER_NAME   "memstick"

Definition at line 22 of file memstick.c.

#define MEMSTICK_ATTR (   name,
  format 
)
Value:
static ssize_t name##_show(struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
dev); \
return sprintf(buf, format, card->id.name); \
}

Definition at line 149 of file memstick.c.

#define MEMSTICK_ATTR_RO (   name)    __ATTR(name, S_IRUGO, name##_show, NULL)

Definition at line 162 of file memstick.c.

#define memstick_device_resume   NULL

Definition at line 145 of file memstick.c.

#define memstick_device_suspend   NULL

Definition at line 144 of file memstick.c.

Function Documentation

EXPORT_SYMBOL ( memstick_detect_change  )
EXPORT_SYMBOL ( memstick_next_req  )
EXPORT_SYMBOL ( memstick_new_req  )
EXPORT_SYMBOL ( memstick_init_req_sg  )
EXPORT_SYMBOL ( memstick_init_req  )
EXPORT_SYMBOL ( memstick_set_rw_addr  )
EXPORT_SYMBOL ( memstick_alloc_host  )
EXPORT_SYMBOL ( memstick_add_host  )
EXPORT_SYMBOL ( memstick_remove_host  )
EXPORT_SYMBOL ( memstick_free_host  )
EXPORT_SYMBOL ( memstick_suspend_host  )
EXPORT_SYMBOL ( memstick_resume_host  )
EXPORT_SYMBOL ( memstick_register_driver  )
EXPORT_SYMBOL ( memstick_unregister_driver  )
int memstick_add_host ( struct memstick_host host)

memstick_add_host - start request processing on memstick host - host to use

Definition at line 511 of file memstick.c.

struct memstick_host* memstick_alloc_host ( unsigned int  extra,
struct device dev 
)
read

memstick_alloc_host - allocate a memstick_host structure : size of the user private data to allocate : parent device of the host

Definition at line 490 of file memstick.c.

MEMSTICK_ATTR ( type  ,
"%02X"   
)
MEMSTICK_ATTR ( category  ,
"%02X"   
)
MEMSTICK_ATTR ( class  ,
"%02X"   
)
void memstick_detect_change ( struct memstick_host host)

memstick_detect_change - schedule media detection on memstick host - host to use

Definition at line 210 of file memstick.c.

void memstick_free_host ( struct memstick_host host)

memstick_free_host - free memstick host - host to use

Definition at line 569 of file memstick.c.

void memstick_init_req ( struct memstick_request mrq,
unsigned char  tpc,
const void buf,
size_t  length 
)

memstick_init_req - set request fields needed for short data transfer - request to use - memstick Transport Protocol Command - TPC argument buffer - TPC argument size

The intended use of this function (transfer of data items several bytes in size) allows us to just copy the value between request structure and user supplied buffer.

Definition at line 298 of file memstick.c.

void memstick_init_req_sg ( struct memstick_request mrq,
unsigned char  tpc,
const struct scatterlist sg 
)

memstick_init_req_sg - set request fields needed for bulk data transfer - request to use - memstick Transport Protocol Command - TPC argument

Definition at line 268 of file memstick.c.

void memstick_new_req ( struct memstick_host host)

memstick_new_req - notify the host that some requests are pending - host to use

Definition at line 252 of file memstick.c.

int memstick_next_req ( struct memstick_host host,
struct memstick_request **  mrq 
)

memstick_next_req - called by host driver to obtain next request to process - host to use - pointer to stick the request to

Host calls this function from idle state (*mrq == NULL) or after finishing previous request (*mrq should point to it). If previous request was unsuccessful, it is retried for predetermined number of times. Return value of 0 means that new request was assigned to the host.

Definition at line 226 of file memstick.c.

int memstick_register_driver ( struct memstick_driver drv)

Definition at line 606 of file memstick.c.

void memstick_remove_host ( struct memstick_host host)

memstick_remove_host - stop request processing on memstick host - host to use

Definition at line 548 of file memstick.c.

void memstick_resume_host ( struct memstick_host host)

memstick_resume_host - notify bus driver of host resumption - host to use

Definition at line 592 of file memstick.c.

int memstick_set_rw_addr ( struct memstick_dev card)

memstick_set_rw_addr - issue SET_RW_REG_ADDR request and wait for it to complete - media device to use

Definition at line 371 of file memstick.c.

void memstick_suspend_host ( struct memstick_host host)

memstick_suspend_host - notify bus driver of host suspension - host to use

Definition at line 580 of file memstick.c.

void memstick_unregister_driver ( struct memstick_driver drv)

Definition at line 614 of file memstick.c.

MODULE_AUTHOR ( "Alex Dubov"  )
MODULE_DESCRIPTION ( "Sony MemoryStick core driver )
module_exit ( memstick_exit  )
module_init ( memstick_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( cmd_retries  ,
uint  ,
0644   
)