sh: pfc: Verify pin type encoding size at build time.

The encoding is tightly packed, and future changes (such as
pinconf-generic support) can easily lead to a situation where we violate
the encoding constraints and trample data bit/reg bits. This plugs in
some sanity checks by way of a BUILD_BUG_ON() to blow up if we fail to
fit.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
diff --git a/drivers/sh/pfc.c b/drivers/sh/pfc.c
index 8a9ae09..ce4579e 100644
--- a/drivers/sh/pfc.c
+++ b/drivers/sh/pfc.c
@@ -549,6 +549,11 @@
 	int (*initroutine)(struct sh_pfc *) = NULL;
 	int ret;
 
+	/*
+	 * Ensure that the type encoding fits
+	 */
+	BUILD_BUG_ON(PINMUX_FLAG_TYPE > ((1 << PINMUX_FLAG_DBIT_SHIFT) - 1));
+
 	if (sh_pfc)
 		return -EBUSY;