[PATCH pci-next] PCI: dwc: put struct dw_pcie::{ep,pp} into a union to reduce its size

From: Alexander Lobakin
Date: Sat Jan 16 2021 - 12:25:05 EST


A single dw_pcie entity can't be a root complex and an endpoint at
the same time.
We can use this to reduce the size of dw_pcie by 80, from 280 to 200
bytes (on x32, guess more on x64), by putting the related embedded
structures (struct pcie_port and struct dw_pcie_ep) into a union.

Signed-off-by: Alexander Lobakin <alobakin@xxxxx>
---
drivers/pci/controller/dwc/pcie-designware.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h
index 5d979953800d..924ebeaa3885 100644
--- a/drivers/pci/controller/dwc/pcie-designware.h
+++ b/drivers/pci/controller/dwc/pcie-designware.h
@@ -265,8 +265,10 @@ struct dw_pcie {
size_t atu_size;
u32 num_ib_windows;
u32 num_ob_windows;
- struct pcie_port pp;
- struct dw_pcie_ep ep;
+ union {
+ struct pcie_port pp;
+ struct dw_pcie_ep ep;
+ };
const struct dw_pcie_ops *ops;
unsigned int version;
int num_lanes;
--
2.30.0