A struct device doesn't carry much information that a channel might be interested in, but the client very much does. Request channels for the clients rather than their parent devices and store a pointer to them in order to have that information available when needed.
Showing the changes to include/linux (1 of 6 files). Show all
Unified · Split
| @@ -158,7 +158,7 @@ u32 host1x_syncpt_base_id(struct host1x_syncpt_base *base); · 157 unmodified lines | ||
| 158 | 158 | struct host1x_channel; |
| 159 | 159 | struct host1x_job; |
| 160 | 160 | |
| 161 | −struct host1x_channel *host1x_channel_request(struct device *dev); | |
| 161 | +struct host1x_channel *host1x_channel_request(struct host1x_client *client); | |
| 162 | 162 | struct host1x_channel *host1x_channel_get(struct host1x_channel *channel); |
| 163 | 163 | void host1x_channel_put(struct host1x_channel *channel); |
| 164 | 164 | int host1x_job_submit(struct host1x_job *job); |