Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d19c7764 authored by Stefan Richter's avatar Stefan Richter
Browse files

ieee1394: sbp2: delayed_work -> work_struct



This work is not delayed.

Also bring the code format in a state which reduces my work to merge
pending sbp2 patchs.

Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 424a9642
Loading
Loading
Loading
Loading
+11 −15
Original line number Diff line number Diff line
@@ -462,23 +462,18 @@ static void sbp2util_notify_fetch_agent(struct scsi_id_instance_data *scsi_id,

static void sbp2util_write_orb_pointer(struct work_struct *work)
{
	struct scsi_id_instance_data *scsi_id =
		container_of(work, struct scsi_id_instance_data,
			     protocol_work.work);
	quadlet_t data[2];

	data[0] = ORB_SET_NODE_ID(scsi_id->hi->host->node_id);
	data[1] = scsi_id->last_orb_dma;
	data[0] = ORB_SET_NODE_ID(
			(container_of(work, struct scsi_id_instance_data, protocol_work))->hi->host->node_id);
	data[1] = (container_of(work, struct scsi_id_instance_data, protocol_work))->last_orb_dma;
	sbp2util_cpu_to_be32_buffer(data, 8);
	sbp2util_notify_fetch_agent(scsi_id, SBP2_ORB_POINTER_OFFSET, data, 8);
	sbp2util_notify_fetch_agent(container_of(work, struct scsi_id_instance_data, protocol_work), SBP2_ORB_POINTER_OFFSET, data, 8);
}

static void sbp2util_write_doorbell(struct work_struct *work)
{
	struct scsi_id_instance_data *scsi_id =
		container_of(work, struct scsi_id_instance_data,
			     protocol_work.work);
	sbp2util_notify_fetch_agent(scsi_id, SBP2_DOORBELL_OFFSET, NULL, 4);
	sbp2util_notify_fetch_agent(container_of(work, struct scsi_id_instance_data, protocol_work), SBP2_DOORBELL_OFFSET, NULL, 4);
}

/*
@@ -795,7 +790,7 @@ static struct scsi_id_instance_data *sbp2_alloc_device(struct unit_directory *ud
	INIT_LIST_HEAD(&scsi_id->scsi_list);
	spin_lock_init(&scsi_id->sbp2_command_orb_lock);
	atomic_set(&scsi_id->state, SBP2LU_STATE_RUNNING);
	INIT_DELAYED_WORK(&scsi_id->protocol_work, NULL);
	INIT_WORK(&scsi_id->protocol_work, NULL);

	ud->device.driver_data = scsi_id;

@@ -1578,7 +1573,7 @@ static int sbp2_agent_reset(struct scsi_id_instance_data *scsi_id, int wait)
	int retval;
	unsigned long flags;

	cancel_delayed_work(&scsi_id->protocol_work);
	/* cancel_delayed_work(&scsi_id->protocol_work); */
	if (wait)
		flush_scheduled_work();

@@ -1889,10 +1884,11 @@ static void sbp2_link_orb_command(struct scsi_id_instance_data *scsi_id,
		 * We do not accept new commands until the job is over.
		 */
		scsi_block_requests(scsi_id->scsi_host);
		PREPARE_DELAYED_WORK(&scsi_id->protocol_work,
		PREPARE_WORK(&scsi_id->protocol_work,
			     last_orb ? sbp2util_write_doorbell:
					sbp2util_write_orb_pointer);
		schedule_delayed_work(&scsi_id->protocol_work, 0);
					sbp2util_write_orb_pointer
			     /* */);
		schedule_work(&scsi_id->protocol_work);
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -342,7 +342,7 @@ struct scsi_id_instance_data {
	unsigned workarounds;

	atomic_t state;
	struct delayed_work protocol_work;
	struct work_struct protocol_work;
};

/* For use in scsi_id_instance_data.state */