mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
platform/x86/intel/pmt: Add pre/post decode hooks around header parsing
Add optional pre- and post-decode callbacks to the PMT class so namespaces
can perform setup and cleanup steps around header parsing.
- Add pmt_pre_decode() and pmt_post_decode() to struct
intel_pmt_namespace.
- Update intel_pmt_dev_create() to invoke, in order:
pre → header_decode() → post.
- Keep the existing pmt_header_decode() callback unchanged.
No functional changes. This adds flexibility for upcoming decoders while
preserving current behavior.
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://patch.msgid.link/b178a341601ca694db99c3b738fe4ed9e0c2bede.1781294741.git.david.e.box@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
3429ae7b2f
commit
acd3b94f86
|
|
@ -381,10 +381,22 @@ int intel_pmt_dev_create(struct intel_pmt_entry *entry, struct intel_pmt_namespa
|
|||
if (IS_ERR(entry->disc_table))
|
||||
return PTR_ERR(entry->disc_table);
|
||||
|
||||
if (ns->pmt_pre_decode) {
|
||||
ret = ns->pmt_pre_decode(intel_vsec_dev, entry);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = ns->pmt_header_decode(entry, dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (ns->pmt_post_decode) {
|
||||
ret = ns->pmt_post_decode(intel_vsec_dev, entry);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = intel_pmt_populate_entry(entry, intel_vsec_dev, disc_res);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -62,6 +62,10 @@ struct intel_pmt_namespace {
|
|||
struct xarray *xa;
|
||||
int (*pmt_header_decode)(struct intel_pmt_entry *entry,
|
||||
struct device *dev);
|
||||
int (*pmt_pre_decode)(struct intel_vsec_device *ivdev,
|
||||
struct intel_pmt_entry *entry);
|
||||
int (*pmt_post_decode)(struct intel_vsec_device *ivdev,
|
||||
struct intel_pmt_entry *entry);
|
||||
int (*pmt_add_endpoint)(struct intel_vsec_device *ivdev,
|
||||
struct intel_pmt_entry *entry);
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user