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 | struct host1x_channel; | 158 | struct host1x_channel; |
| 159 | struct host1x_job; | 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 | struct host1x_channel *host1x_channel_get(struct host1x_channel *channel); | 162 | struct host1x_channel *host1x_channel_get(struct host1x_channel *channel); |
| 163 | void host1x_channel_put(struct host1x_channel *channel); | 163 | void host1x_channel_put(struct host1x_channel *channel); |
| 164 | int host1x_job_submit(struct host1x_job *job); | 164 | int host1x_job_submit(struct host1x_job *job); |