Last time I tried to kill off gbuf->context my efforts were shot
down. Now that I've got the connection infrastructure in place,
maybe I'll have more luck getting rid of gbuf->hdpriv.
The only place it's used is to stash the es1_ap_dev structure
pointer in the buffer. But that information is now available
through the buffer's connection, so we don't need to use the
hdpriv field any more.
So get rid of it, and use hd_to_es1(gbuf->connection->hd) to
get at what we need.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
static int alloc_gbuf_data(struct gbuf *gbuf, unsigned int size,
gfp_t gfp_mask)
{
- struct es1_ap_dev *es1 = hd_to_es1(gbuf->connection->hd);
u32 cport_reserve = gbuf->outbound ? 1 : 0;
u8 *buffer;
gbuf->transfer_buffer = buffer;
gbuf->transfer_buffer_length = size;
- /* When we send the gbuf, we need this pointer to be here */
- gbuf->hdpriv = es1;
-
return 0;
}
static void cport_out_callback(struct urb *urb)
{
struct gbuf *gbuf = urb->context;
- struct es1_ap_dev *es1 = gbuf->hdpriv;
+ struct es1_ap_dev *es1 = hd_to_es1(gbuf->connection->hd);
unsigned long flags;
int i;
struct gbuf {
struct kref kref;
- void *hdpriv;
struct gb_connection *connection;
int status;