m_in
if(unlikely(mbox->m_in.busy)) {
} while( mbox->m_in.busy && (i < max_mbox_busy_wait) );
if(mbox->m_in.busy) return -1;
mbox->m_in.busy = 1; /* Set busy */
mbox->m_in.poll = 0;
mbox->m_in.ack = 0;
if (adapter->mbox->m_in.busy)
mbox->m_in.busy = 1;
mbox->m_in.poll = 0;
mbox->m_in.ack = 0;
mbox->m_in.numstatus = 0xFF;
mbox->m_in.status = 0xFF;
while((volatile u8)mbox->m_in.numstatus == 0xFF)
mbox->m_in.numstatus = 0xFF;
while( (volatile u8)mbox->m_in.poll != 0x77 )
mbox->m_in.poll = 0;
mbox->m_in.ack = 0x77;
return mbox->m_in.status;
while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus)
adapter->mbox->m_in.numstatus = 0xFF;
status = adapter->mbox->m_in.status;
memcpy(completed, (void *)adapter->mbox->m_in.completed,
while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus)
adapter->mbox->m_in.numstatus = 0xFF;
status = adapter->mbox->m_in.status;
memcpy(completed, (void *)adapter->mbox->m_in.completed,
if (!mbox->m_in.busy)
seq_printf(m, " Busy = %01x\n", mbox->m_in.busy);
seq_printf(m, " Status = 0x%02x\n", mbox->m_in.status);
struct mbox_in m_in;
module_init(m_in);