~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to include/linux/bsg-lib.h

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati
  • Date: 2011-12-06 15:56:07 UTC
  • Revision ID: package-import@ubuntu.com-20111206155607-pcf44kv5fmhk564f
Tags: 3.2.0-1401.1
[ Paolo Pisati ]

* Rebased on top of Ubuntu-3.2.0-3.8
* Tilt-tracking @ ef2487af4bb15bdd0689631774b5a5e3a59f74e2
* Delete debian.ti-omap4/control, it shoudln't be tracked
* Fix architecture spelling (s/armel/armhf/)
* [Config] Update configs following 3.2 import
* [Config] Fix compilation: disable CODA and ARCH_OMAP3
* [Config] Fix compilation: disable Ethernet Faraday
* Update series to precise

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  BSG helper library
 
3
 *
 
4
 *  Copyright (C) 2008   James Smart, Emulex Corporation
 
5
 *  Copyright (C) 2011   Red Hat, Inc.  All rights reserved.
 
6
 *  Copyright (C) 2011   Mike Christie
 
7
 *
 
8
 *  This program is free software; you can redistribute it and/or modify
 
9
 *  it under the terms of the GNU General Public License as published by
 
10
 *  the Free Software Foundation; either version 2 of the License, or
 
11
 *  (at your option) any later version.
 
12
 *
 
13
 *  This program is distributed in the hope that it will be useful,
 
14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
 *  GNU General Public License for more details.
 
17
 *
 
18
 *  You should have received a copy of the GNU General Public License
 
19
 *  along with this program; if not, write to the Free Software
 
20
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
21
 *
 
22
 */
 
23
#ifndef _BLK_BSG_
 
24
#define _BLK_BSG_
 
25
 
 
26
#include <linux/blkdev.h>
 
27
 
 
28
struct request;
 
29
struct device;
 
30
struct scatterlist;
 
31
struct request_queue;
 
32
 
 
33
struct bsg_buffer {
 
34
        unsigned int payload_len;
 
35
        int sg_cnt;
 
36
        struct scatterlist *sg_list;
 
37
};
 
38
 
 
39
struct bsg_job {
 
40
        struct device *dev;
 
41
        struct request *req;
 
42
 
 
43
        /* Transport/driver specific request/reply structs */
 
44
        void *request;
 
45
        void *reply;
 
46
 
 
47
        unsigned int request_len;
 
48
        unsigned int reply_len;
 
49
        /*
 
50
         * On entry : reply_len indicates the buffer size allocated for
 
51
         * the reply.
 
52
         *
 
53
         * Upon completion : the message handler must set reply_len
 
54
         *  to indicates the size of the reply to be returned to the
 
55
         *  caller.
 
56
         */
 
57
 
 
58
        /* DMA payloads for the request/response */
 
59
        struct bsg_buffer request_payload;
 
60
        struct bsg_buffer reply_payload;
 
61
 
 
62
        void *dd_data;          /* Used for driver-specific storage */
 
63
};
 
64
 
 
65
void bsg_job_done(struct bsg_job *job, int result,
 
66
                  unsigned int reply_payload_rcv_len);
 
67
int bsg_setup_queue(struct device *dev, struct request_queue *q, char *name,
 
68
                    bsg_job_fn *job_fn, int dd_job_size);
 
69
void bsg_request_fn(struct request_queue *q);
 
70
void bsg_remove_queue(struct request_queue *q);
 
71
void bsg_goose_queue(struct request_queue *q);
 
72
 
 
73
#endif